2004년 하프라이프2 엔진을 기반으로 그걸 개조해서

마영전이 제작되었다는 것은 대부분의 분들이 아실겁니다.

그래도 원엔진의 명령어가 어느정도 유효하지 않을까 해서

기존 팁에 없는 명령어를 찾아봤습니다.

 

그래서 인터넷에서 하프라이프2 명령어를 찾아서

기존에 나와있지 않은 명령어를 추가해서 적용해보니

좀더 부드러워지고 반응속도와 지연현상이 개선된 것 같습니다.

(3일전쯤에 적용해봄)

 

 

* 올린이 사양

 

- OS: 윈도우7 64bit Ultimate K

- CPU: i5-760 오버클럭 3.6GHz

- Ram: 오버클럭 2000MHz, 8GB

- 가상 메모리 할당 안함

- GPU: ATI HD 7870 2GB, 코어클럭 1100MHz, 메모리 클럭 1200MHz / 해상도 1920*1080 기준. 

-그래픽 드라이버 버전: 카탈 버전 13.12 (2013. 12. 06일자)

- superfetch, 터보부스트 기능, 스피드스텝과 내장 그래픽카드 (메인보드 설정)

- Windows Search 서비스도 끔.

- 오버클럭은 고정클럭 방식이며, 코어파킹 해제로 모든 코어 작동.

- 오버클럭 하셨다면, 고정클럭이 아닌,

  시퓨 수요에 따라 클럭을 조절하는 방법은 코어파킹 해제와 충돌하여 오히려 렉이 유발될 수 있습니다.

  (코어부스트, 스피드스텝-전원관리설정, 터보코어, 맥스코어 이런 기능 끄는 것과 같은 이유)

- ATI 글픽은 마영전 할때마다 라데온프로 라는 프로그램을 같이 쓰지 않으면

  프레임이 반토막 날 수도 있습니다.

  제 인장에서 테라 팁게시글 들어가시면 옵션설명이 있으니 참고.

 

* 링크를 새탭으로 열고 싶으신 분은 마우스 휠 키 클릭이나 Shift+클릭 해주세요.

 

 

* 적용 후기

 

일정 거리 밖에 있는 물체는 로딩하지 않도록 하는 걸 넣고나서 확실히 작동을 하고,

마영전 시스템 메모리 점유가 1~2GB 정도였었는데

메모리 청소 명령어를 넣어주고 나서 거의 대부분 거의 1GB~1GB 약간 넘는 정도로 계속 유지되는 것도 보니

새로 추가한 명령어가 유효한 것 같구요.

  - 2014.09.26일 밤에 6시간 정도 해보니(계속 켜놓다가 라키오라 레이드 뛰고 장비업적퀘 하니)

    2.5GB 정도 점유하는 것 같네요.

 

(일정 거리 밖에 있는 물체나 필드에 있는 잔디 같은 것들은 로딩하지 않게 하거나,

미리 맵을 불러오고, 메모리를 청소하는 명령어, 네트워크 관련 명령어 3~4개 추가)

 

단, 저는 이전에 CPU 관련 명령어중 threads, multicore 명령어만 썼었는데

이번에 새로 추가하면서 기존에도 있던 mat_queue_mode 명령어도 추가해서

이전에 안쓰고 있었던 이 CPU 관련 명령어 하나만 추가해서 이렇게까지 개선이 된건지,

새로 추가한 명령어 때문인지는 모르겠네요.

 

그런데 제 생각엔 mat_queue_mode 명령어 하나만으로 프레임 체감이 차이가 크게 날 것 같진 않습니다.

(이건 듀얼코어 명령어가 아닙니다. 자세한 내용은 아래 참고사항 참조.)

 

가령, 프레임 드랍이 가장 심한 곳은 60에서 30정도 까지도 떨어졌고,

꽤 오랫동안 40대 정도 프레임이 나왔는데,

새 명령어 적용후 드랍이 돼도 거의 40대 후반이나 50대에서 60대 프레임이 나오게 됐고,

프레임이 떨어지더라도 다시 금방 60까지 오르더군요.

그리고 ATI는 캠파 같이 불이 피어오르는 곳에 가서 시선을 그쪽에 맞추면 프레임 드랍이 심한 특성이 있습니다.

마영전에서도 그랬는데, 이젠 프레임이 떨어져도 최소 40대는 유지하는 것 같고 그것도 거의 대부분 60까지

유지되는 것 같습니다.

 

그리고, 로딩화면이라든지,

겜에 막 접속해서 여관에서 나올때 걸리는 순간 렉이라든지..

배를 타거나 띄우기 전 단계까지의 서버 반응속도

(UI 반응속도 외 서버와의 반응속도)라든지 이런 것도 더 좋아지더군요.

 

또, 엘쿨같은 용이 나오는 8인 레이드를 방장이 아닌 파티원으로 돌아보니

전에는 프레임 드랍이 좀 빈번했고, 3~40정도까지도 떨어졌었는데,

현재는 파티원으로 할시 순간적으로 멈추는 것도 없었고, 거의 60 프레임이 유지됐습니다.

그리고, 8인 레이드 보스 잡히자마자 바로 클리어 후 나오는 음악이 나오면서 카메라 찰칵! 하는 화면으로

지연없이 뜨네용 ㅇㅅㅇ

 

기사단 레이드는 안해봤지만 어차피 겜회사의 서버가 젤 많은 영향을 미쳐서..

생ㄹ ㅑㄱ .....

 

좀더 확실하게 알아보려면 더 여러번 테스트 해야겠지만,

허비될 시간 때문에 생략..orz.....

(이젠 이런거 알아보고, 테스트해보고, 글 작성하는 데에

소요되는 시간이 너무 힘들어서 더이상은..다메다요...쿨럭. ㅠ_ㅠ)

 

 

 

 

* 솔플 영상 (2014.09.26 14:33 촬영)

https://www.youtube.com/watch?v=dfsbiaodzSg

 

- UI 반응속도 개선 팁까지 적용된 상태입니다.

 

 

기사단 레이드 영상 (2014.09.26 18:03 촬영)

http://youtu.be/EKeWPJexSQs

 

- 렉이 심히 걸렸던 얼음용으로 정해서 촬영했습니닷.

  암 걸릴 것(?)을 예상하고 갔는데 그 반대여서 다행..ㅎㅎ

- 오디오 음질을 너무 낮췄다봐요. 소리 찢..ㄷㄷ 죄송함다 ㅠ

    +반디캠 최신버전으로 바꿔서 녹화해서 그런지 잡음이 심하네요.

- 인장 지못미;;

 

 

라키오라 레이드 영상 (2014.09.26 19:07 촬영)

http://youtu.be/07ubRSzyZH0

 

- 좀더 확실하게 찍기 위해 파티장이 아닌 파티원으로 플레이 했습니다.

- 빨리 찍으려고 무공제로 갔더니 클리어까지 무지 오래걸렸네요 ;ㅅ;

- 녹화 킨 것과 끈 프레임 차이가 심하더군요. 녹화시 비디오 코덱을 H.264로 바꿔서 그런 듯.

  (녹화전 프레임 60에서 녹화시 약 30까지 드랍)

 

 

* 모르반 모닥불 영상 (2014.09.26 18:52 촬영)

http://youtu.be/-5G22SRWYnM

 

- UI 반응속도 개선 팁까지 적용된 상태입니다.

 

 

 

 

 

* 참고사항

 

- mat_queue_mode 명령어는 CPU 작업처리 방식과 관련된 명령어로, 단순히 듀얼코어 명령어가 아닙니다.

  -1=시스템 기본 / 0=동시발생하는 싱글 쓰레드 사용, 1=대기행렬된 싱글 쓰레딩 모드 사용,

  2=멀티쓰레딩 모드 사용.

    → Thread: CPU 내부에서 작업을 수행하는 가장 작은 단위.

                    CPU가 일할때 동시에, 독립적으로 처리가능한 명령어들의 묶음.

  (참고: http://steamcommunity.com/app/730/discussions/0/46476145578948865/)

 

- 참, 컨피그_머테리얼.txt를 변경하는건 워드패드에서 하시거나,

   메모장으로 하신다면 그 기괴한 문자들 패턴 있죠? → 검은 직사각형 안 동그라미 있는 그런 문자

   띄워져 있는 공간은 탭키로 한 것들입니다.

   이 패턴대로 맞게 하셔야지 그냥 메모장에서 편집하시면 제대로 적용이 안됩니다.

   예: 메모장에서 보면, 

   "명령어"(여기 공간은 스페이스 바가 아닌 탭키 2번)"값"이상한 문자(여기 공간은 탭키 1번)

 

 

- 그리고, 메모장에서 열어서 원래 있던 컨피그 파일에,

  제가 올린 파일에서 일부를 복사해 넣는 식으로 하고 수정하는 것입니다.

  이렇게 안하고 그냥 다운받은 파일을 수정하면 제대로 적용이 안됩니다.

 

   실제로, 제가 해보니까 이렇게 메모장에서 수동으로 힘겹게 하든지,

   워드패드에서 해야 제대로 적용이 되더군요.

   (메모장에서 파일을 불러왔을때 이상한 문자가 같이 나오면 상태에서

    일일히 수정하시는 것을 가장 추천합니다. 워드패드에서 불러온 것처럼 이상한 문자 없이

    깔끔하게 나오는경우 그냥 복사, 붙여넣기하면 잘 적용이 안될수도 있어요.)

 

   귀찮으신 분들은 제가 올린거(수동 전체화면 모드)

   마영전/ko-KR/bin에 받아서 교체하시고 읽기전용으로 하세요.

   단, 적용하진 않았지만 도움이 될 것 같은 명령어와, 기타 항목의 명령어는 입력 되어있지 않습니다.

   (단, DeviceID, VendorID 값, 해상도, tickrate, cl_cmdrate, cl_updaterate,

    cl_rate, sv_cmdrate,  heapsize, threads-하이퍼쓰레딩 기능 지원여부에 따라 달라집니다-등은

    본인에 맞는 값으로 하셔야 합니다. 이외 그래픽 옵션도. ID는 원본파일에 나와있어요.)

 

    제 파일에는 안티 8배(mat_antialias), 이등방성 16배(mat_forceaniso)가 적용돼 있습니다.

 

   최소 거의 제 사양과 비슷하신 분들만 첨부한 컨피그_머테리얼.txt를 그대로 적용하세요.

   첨부해놓은건 거의 값이 고퀄로 설정되어있습니다.

   때문에, 첨부한 파일 그대로 쓰시면, CPU 클럭이 저보다 낮아도 렉이 생길 수 있습니다.

   이때는 설명을 보시고 사양에 맞게 값을 조절하셔야 합니다.

 

 

* 기타 참고글

- [UI 반응개선 등] 보다 마영전을 부드럽게 해보자!

(윈도우 및 네트워크 최적화 일부도 내포)

http://www.inven.co.kr/board/powerbbs.php?come_idx=2028&l=30820

 

- 키설정 팁

http://www.inven.co.kr/board/powerbbs.php?come_idx=2028&l=30821

 

- 네트워크 명령어 값 참고

http://www.inven.co.kr/board/powerbbs.php?come_idx=2028&l=32962

 

 

 

 

* 주의! 필독!!

 

기존 인벤 팁에 올라와있는 파티 최적화 명령어 중 'host_threaded_mode'잘못된 명령어 같습니다.

인벤에 올라온 파티 최적화 명령어는 전부 'host_threaded_mode'로 되어있더군요.

저도 그 부분은 그냥 긁어와서 썼는데,

제가 네트워크 쪽 명령어를 더 알아보려고 검색하던 도중, (구글)

이상하게 해당 명령어로는 검색결과가 달랑 2페이지에, 그마저도 들어가보면 'host_thread_mode'라고 나와있어서,

'host_thread_mode'라고 검색을 다시 해보니까

검색결과가 무지 많이 뜨더군요.

 

그래서 더 검색해보니 밸브사의 개발자 공식 커뮤니티 사이트에서

(링크: https://developer.valvesoftware.com/wiki/Frame_Order#Networking)

싱글 스레드와 멀티 스레드 모델이 나오면서 아래 내용도 같이 나오더군요.

 

The engine has two modes of execution, a threaded path and a non-threaded path. The host_thread_mode cvar determines which path is taken. Dedicated servers will ignore this cvar and always use the non-threaded path. XBox 360 runs in threaded mode by default, while PC runs in non-threaded mode by default. Threaded mode was introduced with the Orange Box version of the Source engine, and does not exist in Episode 1 or previous versions. 

 

추가로, 저 사이트에서 'host_threaded_mode'로 검색해보면 아무것도 안뜹니다.

(https://developer.valvesoftware.com/w/index.php?title=Special%3ASearch&redirs=0&search=host_threaded_mode&fulltext=Search&ns0=1)

 

반대로, 'host_thread_mode'로 검색해보면 여러 글이 나옵니다.

(https://developer.valvesoftware.com/w/index.php?title=Special%3ASearch&redirs=1&search=host_thread_mode&fulltext=Search&ns0=1)

 

네..그래서 제 생각에 올바른 명령어는 'host_thread_mode'로 사료됩니다.

컴퓨터라는게 명령어 철자 하나라도 틀리면 제대로 적용이 안되기 때문에,

기존 인벤에 올라와 있는 명령어가 잘못된 것 같아

제 글에 첨부된 파일을 다시 수정하여 재업로드 했습니다.

 

참고로, host_thread_mode 0값은 off, 1값은 on(멀티코어 cpu가 해당), 2값은 강제적용입니다.

(참고: http://forums.steampowered.com/forums/showthread.php?t=1325149)

 

 

 

 

 

[rate 등 네트워크 명령어 값은 아래 링크를 참고하세요]

http://www.inven.co.kr/board/powerbbs.php?come_idx=2028&l=32962

 

* Config_Material.txt 새로 추가한 명령어(첨부파일)

  - 참고: http://fr33man.altervista.org/HL2guida/HL2_8.htm /

            http://www.lanpartyguide.com/hl2.html

 

r_propsmaxdist: 안개에서 사라지는 오브젝트들의 거리를 결정한다. 기본값: 1200..

                           ..라고 http://www.lanpartyguide.com/hl2.html 에 써 있는데

                           다시보니 명령어랑 뭔가 매칭이 이상한거 같아서 다시 검색해보니 저것보다

 

                           http://whisper.ausgamers.com/wiki/index.php/Source_Autoexec_Tweaks

                           여기에 나오는 설명이 맞을 것 같네요.

                           프롭들(props)의 최대 가시거리.

 

cl_forcepreload: 한참 막 로딩할때(의역), 모든 정보들을 정보를 불러오지 않아서 오는 떨림현상로딩 멈춤

                           감소시키는 사전로딩 상태로 강제한다.

                      on=1, off=0.

  → 즉, 정보를 사전에 불러와서 렉을 없애는 거죠. (예: 전체 맵 정보)

  → 겜 중간에 순간렉이 발생 할 수 있지만 길지 않습니다.

  사양이 안될수록 렉이 심할 수 있습니다. 그런 분들은 끄세요.

      (일반적으로 램 1기가 미만인 글픽인 경우 그렇더군요)

 

heapsize (단위: 킬로바이트):

  성능을 향상시키기 위해서 램에 더 많은 게임 정보들을 저장함으로서,

  게임에 의해 액세스될 수 있는 게임 시스템 Heap(게임에서 사용하는 기억공간, 즉 램) 쪽으로

  더욱 많은 램을 할당시킬 수 있는 명령어. 그래서 로딩 멈춤을 감소시키는 것.

  → 계산방법: 시스템 램이 8기가면 전체 용량이 1024*8=8192MB, 8192*1024=8388608 KB이므로,

                  절반인 4194304로 설정.

 

  → 각설해서, 미리 캐싱할 램 용량을 설정해주는 것입니다.

      단, 안정적이려면 시스템 램의 절반정도가 적당하다더군요.

 

mem_max_heapsize (단위: 메가바이트): 위 heapsize의 최대량.

 

cl_detaildist(값=숫자): 화면에 보여줄 세부 프롭들(props)에 대한 범위를 결정한다. (잔디 같은)

                                    값을 높일수록, 추가적인 세부사항들이 더 많이 나타나는 만큼 성능을 낮춘다.

                                    이 세팅값을 감소시키는 것은 성능을 향상시킬 수 있으며,

                                    반대로 증가시키는 것은 이미지 품질을 향상시킬 것이다.

                                    (예: 400, 1000, 1024, 2048...)

                                      → 이 값들은 검색했을때 딱히 제한되는 범위가 없고,

                                          설정값을 설정할 때 보다 적합한 값을 빠르게 찾기 쉽게 예로 든 것입니다.

                                          명령어 뒤에 표기한 괄호 안의 내용처럼 그냥 숫자로 적으시면 됩니다.

 

cl_detailfade(값=숫자): 화면에 서서히 투영할 세부 프롭들(props)에 대한 범위를 결정한다.

                                     이 값을 증가시키면 성능을 향상시킬 수 있다.

                                    (예: 400, 1000, 1024, 2048...)

                                      → 이 값들은 검색했을때 딱히 제한되는 범위가 없고,

                                          설정값을 설정할 때 보다 적합한 값을 빠르게 찾기 쉽게 예로 든 것입니다.

                                          명령어 뒤에 표기한 괄호 안의 내용처럼 그냥 숫자로 적으시면 됩니다.

 

mem_force_flush: 모든 할당량에서 캐쉬 청소를 강제하는 것으로,

                              불필요한 최적화이지만, 메모리와 관련된 에러들을 감소시킬 수 있다.

                              on=1, off=0.

 

  → 일정주기마다 메모리를 청소하므로 순간 렉이 매우 짧게 있습니다.

      사양이 안될수록 렉이 심할 수 있으므로, 그런 분들은 끄세요.

      (일반적으로 램 1기가 미만인 글픽인 경우 그렇더군요)

  → 안쓸때보다 좀더 안정적으로 유지되고, 메모리 사용량이 증가하는 속도가 느려진 것 같습니다.

      마영전 킨지 몇시간 안됐을땐 약 1~1.3GB 점유,

      계속 마영전 켜두다가 라키오라 레이드 뛰고, 장비업적퀘 해서 6시간 정도 후 확인해보니

      약 2.5GB 정도 점유하더군요..

 

sv_forcepreload: 로딩 중단을 감소시키는 서버-사이드의 사전 로딩을 강제한다.

                            on=1, off=0.

  즉, 서버와 클라이언트 간 송수신할 데이터를 사전에 불러와서 을 없애는 거라고 보시면 됩니다.

    → 필요할때마다 데이터를 송수신하다 갑자기 손실되거나 지연되는 것으로 인해

       렉이 생기는걸 방지해주는 것 같아요.

  사양이 안될수록 렉이 심할 수 있습니다. 그런 분들은 끄세요.

      (일반적으로 램 1기가 미만인 글픽인 경우 그렇더군요)

 

cl_resend(단위: 초): 클라이언트가 연결 시도를 재전송하려고 하기 전에, 수초 동안 지연시키는 것.

  → 전 이걸 0으로 뒀습니다.

 

sv_minrate: 서버에 허용할 최소 대역폭 비율. 0=무제한.

sv_maxrate: 서버에 허용할 최대 대역폭 비율. 0=무제한.

  → 이 두가지는 귀찮아서 0으로 뒀습니다. 어차피 겜에 사용되는 대역폭은 전체의 1%도 안되니까요.

      + 무제한으로 하면 마영전 서버가 포화상태에 가까워질때 방장 컴터 프레임이 떨어지는 것 같습니다.

         파티플시 은근히 끊기면 값을 좀 낮추세요.

 

r_shadowmaxrendered: 얼마나 많은 플레이어 그림자들을 그려내게 할 것인지에 대한 양.

                                       값이 낮을수록 그림자가 흐릿한 계란형으로 그려질 것임.

                                  0=플레이어 자신 하나만 나오는데, 작은 방울같이 나옴.

                                  1=플레이어 자신 그림자만

                                  2=모든 사람들(player)의 그림자

 

  → 설명은 저런데, 막상 겜에서 보니 1로 하니까 마을 조그만 꽃게도 그림자가 대충 나오더군요. 

  → 제가 이거 파일에 넣고 깜빡하고 소개를 안했는데요, 이 값은 32가 최대 품질인 것 같습니다.

      첨부파일엔 이 값이 32로 돼 있습니다.

 

(참고: http://whisper.ausgamers.com/wiki/index.php/Source_Autoexec_Tweaks /

          http://forums.steampowered.com/forums/showthread.php?t=1411160

 

 

 

* 추가&적용하지 않았지만 성능향상에 도움될 것 같은 명령어

 

mat_mipmaptextures: 밉맵 텍스쳐 설정. 0값으로 하면 텍스쳐가 매우 거칠어지지만, 성능은 향상됨.

                                    1값으로 하면, 그 어떤 거리에서도 텍스쳐가 최고의 품질상태로 보이게 됨.

(참고: http://config.site.nfoservers.com/tweaks/tweaks.html)


mat_compressedtextures: 값을 1로 두면, 최적의 성능을 위해 압축된 텍스쳐들을 사용한다.

                                           고용량의 램이 장착된 그래픽 카드를 사용할 경우, 0으로 두면,

                                           일부 성능의 가치만큼 텍스쳐 외형이 향상될 것이다.

 

lod_Enable: 값을 1로 두면, 오브젝트의 LOD(level of detail)를 플레이어로부터 멀어질수록

                    점차적으로 감소시키는 것을 허용한다. 0값은 최대 이미지 품질. on=1, off=0.


lod_TransitionDist: 오브젝트에 대한 LOD가 감소되는 거리를 설정.

                               이 범위를 높일수록, 성능은 저하되지만, 더 나은 오브젝트들이 나타날 것이다.

                              (예: 400, 1000, 1024, 2048...)

                                      → 이 값들은 검색했을때 딱히 제한되는 범위가 없고,

                                          설정값을 설정할 때 보다 적합한 값을 빠르게 찾기 쉽게 예로 든 것입니다.

                                          명령어 뒤에 표기한 괄호 안의 내용처럼 그냥 숫자로 적으시면 됩니다.

 

mat_bloom: 블룸 효과 on / off. on=1, off=0.

 

rate(단위: 초당 바이트): 호스트가 받을 수 있는 데이터로, 최대 bytes/sec. 기본값: 20000.

(계산참고: http://dev.dota2.com/archive/index.php/t-91358.html)

 

- 인터넷 속도측정 사이트: http://www.speedtest.net/)

 

  → 이걸 추가해주고 나니 처음 로딩하느라

     프레임이 떨어졌다가 다시 60까지 회복하는 시간이 더 짧아진 것 같습니다.

     오늘 점검해서 그런거일 수도 있지만..예전 마영전 점검 경험을 봤을땐 전자 같습니다.

     그리고, 배나 마차로 이동하고 바로 다음 화면이 뜨는 것, 건물 출입시도 반응속도가 더 빨라진 것 같네요.

 

  → 전 대략 업/다운 속도가 94~95Mbps 나오는데요,

     링크 맨 아래쯤에 있는 댓글대로 계산해서,

     95Mbps*1000 / 8bit=11875 KB/s, 11875KB/s*1024=12160000 B/s 이므로,

      12160000을 rate 값으로 넣었습니다

      → 보다 안정화된 값은 이때와 다릅니다. 본문 머릿글에도 썼지만,

       최근 글을 확인하세요. 아래 cl_rate도 마찬가지.

    → 95Mbps를 Kbps로 전환하기 위해 1000을 곱했고,

        인터넷 속도단위를 KB/s로 바꾸기 위해 8(인터넷 기본 단위가 비트고, 8비트가 1바이트 이므로)로 나눈 후,

        rate값 단위가 바이트(B)니까, 거기에 다시 1024를 곱해서 B(바이트)로 바꿔준 것 같아요.

 

      + 마영전 켜놓기만 하다가 나중에 다시 플레이하실 경우

        그때만 이 옵션값을 낮추거나 해제하는 걸 추천합니다. 귀찮으시면 아예 절충한 값을 넣구요.

        26일까진(섭 상태 좋을때-평일) 괜찮았는데 27일엔 금방 튕겨버리는걸 보니

        서버가 못버텨서 금방 튕기는 것 같네요. 주말이라 하는 사람들이 많아져서 그런가봐요.

      + 최대값일 때, 마영전 서버에 부하가 걸리면 방장 컴터 프레임이 떨어지는 것 같습니다.

        파티플시 은근히 끊기면 값을 좀 낮추세요.

 

cl_rate(단위: 초당 바이트): 호스트가 보낼 수 있는 데이터로, 최대 bytes/sec. 기본값: 10000.

  → 제가 새로 추가한 명령어 제목 아래 링크 건 곳을 다시 살펴보니, 이것도 있더군요. ㄷㄷ

      계산방법은 위와 동일하게 하면 될 듯 합니다.

  → 예전 파티 최적화에 있던 명령어로, 파일에 이 명령어가 1개만 있으면 됩니다.

      기존 팁처럼 sv_rate도 같은 값으로 해주세요.

 

     + 최대값일 때, 마영전 서버에 부하가 걸리면 방장 컴터 프레임이 떨어지는 것 같습니다.

        파티플시 은근히 끊기면 값을 좀 낮추세요.

 

비대칭 랜선인 경우, 속도가 낮은 쪽 값으로

rate, cl_rate, sv_rate값들을 설정하세요.

한쪽 속도만 빠른데 그 값으로 적용하면 병목현상이 생깁니다.

 

 

snd_mix_async: 값을 1로 두면, 멀티코어 CPU를, 성능을 향상시키고 떨림현상을 감소시킬 수 있는 렌더러와

                           동시에, 사운드 엔진의 대부분을 작동하도록 허용할 것이다. on=1, off=0.

 

  → 적용해주고 나서 소리렉이 완화된 것 같습니다.

(참고: http://www.tweakguides.com/HL2_8.html)

 

cl_maxrenderable_dist(값=숫자): 카메라에서 렌더링 될 것들 간의 최대 거리를 명시한다.

                                                     더 작은 수치일수록, 성능을 향상시키면서 덜 렌더링 될 것이다.

                                                     (예: 400, 1000, 1024, 2048...)

 

  → 명령어 적용여부를 알기 위해서 '512'로 값을 줬을때, (이 명령어 외 비슷한 기능은 지우고 테스트)

      마을에서는 크게 비쥬얼적인 차이를 모르겠으나, 프레임이 더욱 부드럽게 되면서 프레임 드랍이 꽤 사라져서

      로체스트와 콜헨을 이어주는 맵으로 가서 보니 나무 같은 물체가 멀땐 얇상해졌다가 가까워지면 굵어지고,

      꽃이나 필드에 있는 다른 물체들이 멀리 있을땐 안보이다가 가까워지니 그때 뜨더군요.

      제 경우엔, 좀더 프레임 드랍 횟수와 변동폭이 줄어들었습니다.

(참고: http://www.tweakguides.com/HL2_8.html)

 

 

 

* 기타

 

cl_smooth: 0으로 하면, 덜 이쁜 대신 5~10 정도의 프레임 향상. 1로 하면 이미지가 이뻐짐.

(참고: http://config.site.nfoservers.com/tweaks/tweaks.html)

 

gl_cull: 오직 가시적인 물체들에 대해서만 렌더링을 가능하게 한다. on=1, off=0 - off는 프레임을 더 낮춤.

             →화면에 보이지 않는 물체들은 렌더링 하지 않는것.

 

r_queued_decals: 데칼들을 순서화합니다. (멀티코어 CPU에 적합한 작업처리방식)

r_queued_post_processing: 후처리가공을 순서화합니다. (멀티코어 CPU에 적합한 작업처리방식)

  → 이 2개도 쓰이더군요. on=1, off=0.

    → 참고: http://www.facepunch.com/showthread.php?t=946682 /

               http://dev.dota2.com/showthread.php?t=19438

 

r_waterforceexpensive: 기존 인벤에 올라온 팁엔 0, 1, 2값으로,

                                       높은 숫자일수록 그래픽이 좋은걸로 나와있지만, 다른 명령어를 찾으면서 확인해보니

                                       원래 엔진에서 이건 최고품질의 물 사용여부를 결정하는 명령어더군요. on=1, off=0.

 

 

 

 

* 추가(15.07.23)

 

mp_usehwmmodels, mp_usehwmvcds: 텍스쳐의 폴리곤을 증가시켜 보다 세세하고 사실적으로 만들어줌.

                                                          팀 포트리스2처럼 큰 변화는 아니지만

                                                          성능저하는 거의 없고, 적용후 텍스쳐가 더 이뻐졌음.

                                                          on=1, off=0. 이걸 적용하려면 이 두 명령어를 모두 활성화해야 함.

 

 

 

* 추가(15.08)

 

flush, flush_locked: 캐쉬 메모리를 비우는 옵션입니다. on=1, off=0.

https://developer.valvesoftware.com/wiki/List_of_HL2_Cvars 에서는

flush 명령어는 잠기지 않은 캐쉬 메모리를,

flush_locked 명령어는 잠긴 것과 잠기지 않은 캐쉬 메모리를 비운다고 하지만

 

https://developer.valvesoftware.com/wiki/Console_Command_List 에서는

전자는 그냥 캐쉬 메모리를 비우고, 후자는 잠긴 캐쉬 메모리를 비운다고 해서

실제론 어떻게 적용되는지는 모르겠고, 테스트하기도 귀찮아서

그냥 2개 다 추가해서 쓰는데 예전의 mem_force_flush 명령어만 썼을때 보다

이 2개를 더 추가해서 쓴 이후,

대략 500MB 정도의 메모리가 더 줄어들고 더 낮은 메모리 점유율을 보이는걸 보니

UI 캐쉬 메모리까지 줄어드는게 아닌가 추정을 합니다만

캐쉬 메모리에 UI만 있는게 아니라서 더 정확한건 테스트를 해봐야 알 수 있는 부분이라 그냥 쓰고 있습니다.

 

 

 

 

 

 

- config_material.txt 참고:

  http://www.inven.co.kr/board/powerbbs.php?come_idx=2028&l=30589

 

 

[Config_Material.txt 저사양용 옵션]

 

mat_shaderlevel은 0 or 1,
mat_antialias는 0 or 4,
mat_specular는 0 or 1,
mat_hdr_level은 0 or 1,
r_shadowrendertotexture는 0 or 1,
mat_motion_blur_enabled는 0,
r_waterforceexpensive, r_waterforcereflectentities 두개 다 0 or 1,
cl_cloth_physics_mode는 1,
cl_particle_limit은 1 or 2, (그래도 심하면 0)
mat_vignette_effect는 0,
npc_player_costume_quality는 0,
effect_visible_self와 effect_alpha_control_self, effect_alpha_control_other는
컨피그_머테리얼.txt 수정시 참고하라고 올린 링크 참고하셔서 낮추세요.
그리고, 숫자 200인 값이 5개가 있어요. 그걸 모두 100~128 정도로 바꾸세요.
r_rootlod는 1, 2(0: 높음, 1:보통, 2: 낮음), r_lod는 1~10.


첨부파일 받아서 이렇게 수정하시면 퀄을 낮추고 성능을 올리게 됩니다.