AD

그냥 네이버 피방아재 배그 최적화글 또올림

성태오빠
2017-05-19 09:26:33 111553 8 6

안녕하세요. PC방 업주 플로지 입니다.



게임을 너무 좋아해서 오버워치 때부터 프레임 향상을 위한 분석을 하기 시작, 결국 배틀그라운드까지 왔습니다.

제가 직접 게임을 즐기다보니 프레임 낮은 것도 짜증나고, 손님들에게도 좀 더 나은 프레임을 제공하고자

이거저거 짜내다보니 또 많은 분들께 도움도 드릴 수 있게 되어서 기분이 좋습니다.


현재 빌드(2017년 5월 19일 밤 12시 기준)에서의 프레임 관련 종결글이라고 생각합니다.

나중에 빌드가 더 올라가고 최적화 방법이 달라지게 되면 그때 다시 글을 올리겠습니다.

아마 정식 출시 이전에 블루홀 측에서 최적화를 단행한다면 이 글은 폐기되겠죠.

어서 그런 때가 도래하여 많은 분들이 낮은 프레임으로 고통받지 않길 바라면서 마지막 글 올려봅니다.


예전 글들은 잘못된 정보도 많이 포함하고 있어서 일괄 삭제할까 하다가, 혹시 그 쪽 설정이 더 맞는 분들도

있을지 모르고, 많은 댓글들에 쓸모있는 정보가 있을지도 몰라서 제목만 바꾸고 남겨두겠습니다.


첫번째 글 : http://cafe.naver.com/playbattlegrounds/31583  (6시간 프레임 테스트 결과글)

두번째 글 : http://cafe.naver.com/playbattlegrounds/32561  (추가 프레임 테스트 포함 결과글)

세번째 글 : http://cafe.naver.com/playbattlegrounds/33028 (프레임 설정 관련 / 바이오스 / 라이젠 포함)


-----------------------------------------------------------------------------------------


이 글을 읽으시는 분들은, 뭔가 하나 딱! 하면 프레임이 쑥쑥 올라가는 그런 글을 원하시겠지만

일단 어떠한 방식으로 프레임이 결정되는지 제가 추측한 원리를 간단하게나마 설명드려야할 것 같아서

(궁금해하시는 분들도 있고, 제가 설명을 해놔야 다른 분들께서도 그것을 이용해서 더 나아질 수 있을듯 하여)

최대한 중심적인 부분만 간추려 적어보겠습니다.



1. CPU의 로드율이 올라가야만 그래픽카드(GPU)의 로드율이 상승한다

   배틀그라운드는 CPU가 일정 로드율 이하에서 가동되면 GPU는 놀아버리는 현상이 발견됩니다.

    이유는 잘 모르겠지만, 여튼 그래픽 옵션을 올려서 CPU의 로드율을 올리면 그래픽카드의 로드율도

    동반 상승하면서 프레임이 개선되는 현상을 보입니다

    이러한 이유로 고성능의 CPU를 사용하는 경우, 옵션을 아주 강하게 줘야만 프레임이 상승합니다.

    

2. 배틀그라운드는 다이렉트X 11 환경에서 제작된 것이다

   이 부분은 제가 다른 분들 댓글로 피드백을 받다가 본 내용입니다. 이제까지 저는 배틀그라운드가

   다이렉트X 11을 기반으로 제작이 됐더라도, 그래픽적인 처리 부분은 다이렉트X 9을 중추로 하여

   개발되었을 것이라 추측했었습니다.


   그런데 곰곰히 생각해보니 굳이 그럴 이유가 없었습니다. 만약 개발인력들이 다이렉트X 11을

   잘 다루지 못한다면 그럴수도 있겠지만 (이런 이유로 여전히 다이렉트X 9 버전으로 게임을 개발하는

   업체들도 엄청 많습니다), 정식 게임 사이트 리뷰 등에서 다이렉트X 11 기반이라고 표시되어있는걸 보면

   정말 다이렉트 X11 기반일테고, 굳이 그래픽적인 부분만 다이렉트X 9으로 개발할 필요가 없겠더군요.

 

   이게 지금 무슨 소리인가- 하시겠지만, 이 부분이 이번 글에서 중요한 내용이 되다보니 일단 설명드렸습니다.

   저에게 프레임 최적화에 대한 중요한 영감을 준 단초였기 때문입니다.


3. 개발자의 입장에서 프레임에 대해서 고민해봐야한다

   이게 또 무슨 뜬구름 잡는 소리지? 하실텐데, 2번 부분에 이어서 생각하면 상당히 중요한 단서입니다.

   다이렉트X 11로 개발된게 맞다면- 개발자들은 과연 유저들이 배틀그라운드를 플레이할 때

   어느 정도의 프레임을 즐길 수 있길 바랄까 - 라는 생각을 하게 됐습니다.

  

   이 항목에 대한 내용은 더 자세하게 아래에서 설명 드리도록 하겠습니다.


--------------------------------------------------------------------------------------


엔비디아 설정은 아래와 같으며 예전 글에 올렸던 것과 동일합니다.

저희 매장은 이 상태로 세팅하여 오버워치 / 롤 / 배틀그라운드 등등

모든 게임을 이상없이 제공하고 있습니다.


%EC%97%94%EB%B9%84%EB%94%94%EC%95%84%EC%A0%9C%EC%96%B4%ED%8C%90.png?type=w740


이 중에서 이방성 필터링은 원거리 텍스처 디테일을 살려주느냐 죽이느냐에 관여합니다.


1060 3gb 이상의 그래픽카드는 이방성 필터링을 16x 로 하시고,

1050Ti / GTX960 이하의 그래픽카드는 이방성 필터링을 8x 로 하시기 바랍니다.


4x 이하부터는 중거리에서도 텍스처 디테일이 죽어버려서 적인지 덤불인지 구분이 힘들 정도가 됩니다.

최소한 8x 는 유지하시길 권해드립니다.


-----------------------------------------------------------------------------------------


곧 나오게 될 스팀 시작 명령어를 적용하시기 전에,

반드시 메인보드 바이오스 / 메인보드 드라이버 / 메인보드 내장 사운드 드라이버 / 그래픽카드 드라이버는

최신으로 유지해주시기 바랍니다.



특히 1천번대 그래픽카드를 사용하시는 분들께서는 메인보드 바이오스를 2015년 4월 이후 나온 것으로

업데이트 하셔야 합니다. 그렇지 않으면 그래픽카드 제 성능이 나오지 않기 때문에 프레임이 좋아지더라도

그 상승폭이 100%가 아니며, 비디오램이나 호환성 이슈가 있는 경우에는 아예 변화가 없거나 도리어 나빠질 수 있습니다.


현재 탑재된 메인보드 바이오스의 제작 날짜는 cpu-z을 통하여 확인하실 수 있습니다.


https://search.naver.com/search.naver?where=nexearch&sm=top_hty&fbm=1&ie=utf8&query=cpu-z


위 링크에서 cpu-z을 다운받아 설치하신 후 실행하십시요. 그리고 메인보드 탭을 클릭하시면 확인 가능합니다.


cpuz%EB%A9%94%EC%9D%B8%EB%B3%B4%EB%93%9C.png?type=w740



사용하고 있는 메인보드 제작사 홈페이지에서 모델명을 검색했을 때 (제작사와 모델명 역시 cpu-z으로 확인 가능합니다)

가장 최신 드라이버가 2015년 4월 이전의 것이라면 1천번대 그래픽카드보다는 900번대 그래픽 카드를 사용하세요.

아니면 메인보드를 교체하시는게 낫습니다. 생각보다 바이오스 차이로 인한 성능 갭이 큽니다.


----------------------------------------------------------------------------------------------------


듀얼채널 램 구성과 싱글채널 램 구성에 대해 궁금해하시는 분들이 있어서 설명드립니다.

램은 무조건 듀얼채널로 구성하시는게 제일 좋습니다.


듀얼채널을 구성하는 가장 쉬운 방법은 똑같은 용량 / 똑같은 클럭을 가진 램을 2개 구비하여 램슬롯에 꽂는 것입니다.

단, 램슬롯이 4개인 경우에는 램슬롯에 칠해진 컬러가 같은 곳에 하나씩 꽂으면 됩니다. (보통 한칸 띄워져 있습니다)

동일한 램을 4개 가지고 있다면 램슬롯 4개에 다 꽂으세요. 4개가 모두 듀얼채널로 작동합니다.


보통 다른 용량 / 다른 클럭을 가진 메모를 꽂아도 듀얼채널로 작동하느냐고 물으시는 경우가 있는데

그건 메인보드 제작사마다 다른 아키텍처를 가지고 있기 때문에 듀얼채널로 인식이 되더라도

그 효율에 대해서는 장담할 수 없습니다. 구식 아키텍처의 경우 용량만 달라도 듀얼채널 인식을 못하는 경우도

있었습니다. (심지어 같은 용량 + 같은 클럭이어도 단면램/양면램을 따로 인식해 듀얼채널이 안되기도 했었음)


듀얼채널로 인식이 되고 있는지 안되고 있는지 역시 cpu-z 을 통해 확인할 수 있습니다.


cpuz%EB%A9%94%EB%AA%A8%EB%A6%AC.png?type=w740


벤치마킹에 따르면 고성능 3D 게임의 경우 듀얼채널이 싱글채널에 비해 약 20프레임 정도 우수하며,

프레임 유지 안정성에서도 월등합니다. 그러니 반드시 듀얼채널로 구성하시기 바랍니다.


-------------------------------------------------------------------------------------------


배틀그라운드 옵션에 대하여 간략하게 설명드립니다. 마침 PC-Gamer에서 벤치마킹한 내용도

이번에 올라왔더군요. (스팀에서 배틀그라운드 페이지 보시면 최신 기사로 업데이트 되어있습니다)


화면 해상도 : 화면해상도는 당연히 높일수록 프레임이 낮아지고, 내릴수록 프레임은 올라갑니다.

                     현재 모니터에 가로세로 픽셀 갯수를 표시한 것입니다. (FHD = 가로픽셀 1920개 x 세로픽셀 1080개)


                    오버워치 프레임 테스트 할 때 보니까 한 단계마다 프레임이 약 10~15% 정도씩 변화합니다.

                    정말 프레임이 안나오네~ 하고 생각하시는 분들은 해상도를 한 단계만 내려보세요.

                    그것만으로도 프레임이 7~10 정도 오릅니다. 하지만 그만큼 적들을 알아보기 힘들어진다는거 유의하세요.


화면 스케일(%) : 화면에 표현된 물체의 기본 크기를 100% 이라고 했을 때, 그래픽카드가 그 물체를 몇 %의 크기로

                         기본 랜더링하는지를 표시하는 옵션입니다.


                         90%로 지정한다면 그래픽카드는 오브젝트를 90%의 크기로 기본 랜더링한 후, 화면에 표시할 때는

                         10% 더 확대시켜 표현해줍니다. 반대로 120%로 지정한다면 더 크게 오브젝트를 랜더링한 후

                         크기를 20% 더 압축하여 보여줍니다.


                        지나치게 낮게 지정할 경우 픽셀을 확대시켜 화면에 보여주므로 이미지 열화가 생기게 됩니다.

                        높게 설정할수록 이미지가 깨끗하게 보이게 됩니다. (물론 그만큼 프레임은 낮아집니다)

                        1% 당 프레임이 약 1 정도 차이납니다. (낮출수록 프레임이 오르고, 높일수록 프레임이 낮아짐)


                        특별히 신경쓰지 않는다면 90으로 맞추는걸 추천드립니다. 시야도 제법 괜찮고 프레임도 확보 용이합니다.


안티앨리어싱 : 랜더링된 오브젝트의 가장자리를 부드럽게 다듬어줍니다. 방식은 여러가지가 있으나

                      요즘은 효율이 좋은 기술이 많이 개발되어 프레임 저하가 크지 않습니다.

                      옵션 한 단계당 프레임이 1 미만으로 차이가 납니다.

                      (엔비디아와 AMD가 제공하는 GPU 안티앨리어싱 가속 처리 기법이 많이 발달되어있음)


                      CPU에 부하를 줄 때 1순위로 올려야하는 옵션입니다. 높음 or 울트라 유지하시길 바랍니다.

                     (심지어 저사양 PC에서도 높음 주는게 좋습니다)


텍스처 : 물체에 입혀지는 스킨의 해상도를 결정합니다. 높이면 높일수록 고해상도의 스킨이 입혀집니다.

            당연히 그만큼 많은 메모리를 요구합니다. (8GB 램으로는 낮음~중간 품질 텍스처 정도가 적당함)

            요즘은 GPU도 랜더링에 동원되는 형태가 많으므로 (예전 게임들은 CPU만 동원했었음)

            이런 경우가 발생하면 그래픽카드에 장착된 비디오램 크기가 중요해집니다. 

            배틀그라운드는 CPU 로드율이 일정 수준 넘어가면 GPU가 함께 랜더링 일거리를 처리하게 되니

            그래픽카드에 장착된 비디오램 크기도 상당히 중요하다는 것을 알 수 있습니다.

            옵션 한 단계당 프레임이 2~3 정도 차이가 납니다. (상위 옵션으로 가면 그냥 게임 튕기는게 많다는게 함정)


           CPU에 부하를 줄 때 안티앨리어싱에 이어 2순위 고려대상 입니다. 중간 품질 이상 유지하시기 바랍니다.

           i7 CPU의 경우 울트라로 올려쓰시는게 낫습니다. 그래픽카드 성능이 안좋다면 울트라에서 한단계씩 내려보면서

           최저 프레임이 심하게 떨어지지 않는 수준을 직접 찾으셔야 됩니다.


포스트 프로세싱 : 대부분 빛 표현, 질감 표현, 깊이감 표현에 집중된 역할을 합니다.

                         그림자가 실제 그림자처럼 암부가 진해지고 명부가 환해지며, 보조광원이 있을 경우 추가 표현,

                         물체의 질감, 근경과 원경의 거리감 등에 관여합니다 (원경의 경우엔 좀 흐릿하게 보이게 됨)

                         올려보시면 아시겠지만 그다지 안올리는게 좋은 옵션입니다.

                         옵션 한 단계당 프레임이 3 정도 차이 납니다. CPU에 부하줄 때 선호순위 5위.


그림자 : 그림자의 주변을 부드럽게 다듬어주고 암부에서 명부까지의 명도차를 만들어줍니다. 

            올리면 올릴수록 당연히 세심한 표현이 가능하나 유저가 보기에는 낮음부터 울트라까지 뭐가 다른지 잘 모릅니다.

            게임 중에 굳이 그림자를 유심히 살펴보는 것도 아니다보니 낮음으로 쓰는게 최고로 좋습니다.

           (매우낮음의 경우 픽셀 모양이 그대로 보여서 저급한 이미지가 떠오르는 경향이 있죠)

            옵션 한 단계당 프레임이 5 정도 차이 납니다. 오브젝트가 많은 곳에 가면 프레임 다운이 있을 수 있으므로

            왠만하면 올리지 말고 낮음 정도로 사용하시기 바랍니다.


효과 : 말 그대로 시각적 effect 에 해당하는 모든 것들을 강화해줍니다. 그런데 정작 게임할 때는 잘 못느낀다는 것이...

          3D 파티클 표현들이 다 강조되는데 느끼는 사람 있을런지 모르겠네요. 확실히 총구 불빛은 진짜 불꽃처럼 보이더군요.

          옵션 한 단계당 프레임 차이는 1 미만 입니다.  CPU에 부하를 줄 때 선호순위 3위.


식생 : 올리시는 분 없을테니 패스하겠습니다. 나뭇잎과 덤불로 인해 시야 방해 받고 싶으시다면 올리셔도 됩니다.

         옵션 한 단계당 프레임 차이는 1 미만인데, 그래픽카드의 비디오램을 꽤 먹습니다. 올리지 말고 무조건 매우낮음.


거리 : 캐릭터를 중심으로 얼마나 먼 거리까지 경치가 보이는지 정하는 옵션입니다. 이걸 울트라까지 올리고 낙하하면

         아주 먼 거리의 나무가 다 보입니다. (매우낮음에서는 상당히 낙하해야 보이던 나무들도 낙하 초반에 보임)

         어차피 타 유저는 거리가 멀어도 다 보이기 때문에 올리는 의미가 없습니다. 화면에 표시해야할 오브젝트가

         늘어나기 때문에 비디오램도 많이 먹습니다. 비디오램이 3gb 이하인 경우에는 매우낮음으로 유지하는게 좋습니다.

         CPU에 부하줄 때 선호순위 4위.

  

-----------------------------------------------------------------------------------------------------


스팀 런처 시작 옵션을 어떻게 입력하는지 대부분 아시겠지만 다시 설명 드리면...

%EC%8A%A4%ED%8C%80%EB%9F%B0%EC%B2%98%EC%8B%9C%EC%9E%91%EC%84%A4%EC%A0%95%EB%84%A3%EA%B8%B0.png?type=w740
 
%EC%8A%A4%ED%8C%80%EB%9F%B0%EC%B2%98%EC%8B%9C%EC%9E%91%EC%84%A4%EC%A0%95%EB%84%A3%EA%B8%B02.png?type=w740


이렇게 설정하시면 됩니다.



저 명령어 넣는 란에 아래와 같이 넣으세요.


 -lowmemory  -heapsize 1572864 -maxMem=????? -maxVram=????? -high -USEALLAVAILABLECORES  -threads ? -malloc=system -nojoy


위 스팀 런처 시작 설정 옵션이 제가 정리한 가장 최신의, 종결 명령줄 입니다. 역시 설명이 필요할테니 설명 들어갑니다.


-lowmemory : https://www.reddit.com/r/PUBATTLEGROUNDS/comments/6157ua/guide_competitive_high_fps_settings_v3/

                    레딧 배틀그라운드 포럼에 1달 전에 올라왔던 코멘트 300개짜리 인기 게시물입니다.

                    한국 배그 초기 유저들이 사용했던 스팀 런처 시작옵션들이 이 게시물에서 많이 발췌되었습니다.


                    그런데 왜 이 옵션은 아무도 신경을 안썼을까요. 전 이 옵션이 정말 눈길이 가더군요.

                    정말 효과가 있을까? 해서 테스트해봤는데 정말 있었습니다.

                    램 8GB 이하 유저들은 이 명령어 유용하게 사용하시기 바랍니다.


                   대조 결과 이 옵션을 안넣고 하면 램을 5GB 가까이 차지하던 배틀그라운드가

                   이 명령줄을 넣고 돌렸더니 3GB 미만으로 차지합니다. (8GB 램 기준으로 그렇다는 것입니다)

                   어떤 원리인지는 잘 모르겠는데 여튼 실시간 메모리 이용율 체크 결과 그렇게 나오더군요.

                   덕분에 계속 게임을 해도 텍스처 리소스 할당 에러라던가 메모리 덤프 에러 메세지가 안뜨더군요.


                   단, 부작용이 있는데 게임 중에 3~4분 정도의 간격으로 아주아주 짧게 게임이 끊깁니다.

                   완전히 느껴질 정도는 아니고 정말 미세하게 그런 현상이 있습니다. 실제 플레이에는 거의 영향 없습니다.

                   제가 추측하기로는 일정 시간 간격으로 메모리 리플래시를 해주는게 아닐까 싶습니다.

                   프레임도 정상적으로 나옵니다. (물론 아주아주 짧게 끊기는 느낌이 들 때 프레임이 순간적으로 30~40 정도로

                   내려갔다가 다시 빠르게 복구됩니다)


                  메모리가 12GB 이상인 분들은 굳이 이걸 안써도 될듯 싶습니다. 매장 PC가 모두 램 8GB라서

                  이보다 더 큰 램을 장착한 PC에선 어떻게 반응이 될지 잘 모르겠습니다.

                  참고로 이 명령어 쓰고나서 라운드 끝나고 로비로 나오다가 멈추는 현상 한번도 못봤습니다.

                  로비 멈춤 때문에 고생하시는 분들께서는 한번 실험삼아 넣어보세요. 효과볼 수 있습니다.


-heapsize 1572864 : 하프라이프 시절부터 사용된 동적 메모리 할당 명령어. 이건 기본 사이즈로 할당하라는 의미라서

                             배틀그라운드가 최소 이만큼 (1.5GB)만큼은 기본 램 사이즈를 배당받게 됩니다.

                             사용이 끝나면 윈도우에 반납되는 분량입니다. 이거 빼고 돌렸더니 프레임 아주 엉망이더군요.

                             너무 구식 명령어라 적용 안될지도 모른다 싶어서 빼봤는데 프레임 50도 못 뽑게 변해버렸습니다.



-maxMem= : 배틀그라운드가 점유할 수 있는 최대 동적 메모리 사이즈를 정해주는 명령어 입니다.

                  이퀄(=) 다음에 물음표 대신 숫자를 적어주시면 되는데, 공식은 (자신의 램 GB - 1) x 1024 입니다.


                  램이 4GB면 (4-1)x1024=3072  이니까, -maxMem=3072 이라고 넣는 것이죠.

                  4GB = 3072 / 8GB = 7168 / 16GB = 15360 / 32GB = 31744 로 넣으시면 됩니다.

                 단, 무거운 백신 프로그램이나 기타 프로그램 (녹화/송출/음성채팅/방송시청 등)을 함께 가동하는 경우에는

                 위의 숫자에서 1024를 추가로 빼주시는게 좋습니다. 빼야되나 말아야되나는 직접 판단하시기 바랍니다.

                 저처럼 프로세스 깨끗하게 관리하는 분들이 생각보다 적으니 왠만하면 추가로 빼주시는게 낫습니다.

                 윈도우 최적화 잘 하시고 쓸데없는 프로그램이 램 상주하는거 싫어해서 칼정리하는 분들은 그냥 쓰십시요.


-maxVram= : 그래픽카드에 장착된 비디오램 중 배틀그라운드가 점유할 수 있는 최대 동적 메모리 사이즈를

                   정해주는 명령어 입니다. 이퀄(=) 다음에 물음표 대신 숫자를 적어주면 되는데,

                   공식은 (자신의 램 GB x 1024) - 512 입니다.


                   비디오램이 2GB면 (2x1024)-512=1536 이니까, -maxVRam=1536 이라고 넣는 것입니다.

                   2GB=1536 / 3GB=2560 / 4GB=3584 / 6GB=5632 / 8GB=7680 / 11GB=10752  로 넣으시면 됩니다.


                   단, 예외가 2가지 있는데....


                  비디오램이 1GB 이하인 경우에는 이 명령어를 아예 넣지 말고 지워버리세요.

                  또 GTX970을 사용하시는 분은 -maxVram=3072 로 입력하셔야 합니다. (비디오램이 3.5 + 0.5 로 쪼개져있음)


-high : CPU가 배틀그라운드를 우선순위로 처리하도록 배당하는 명령어 입니다.

            기존 스팀 게임들에서도 많이 쓰인 명령어로, 프레임 상승에 도움이 되는게 증명 되어있습니다.


-USEALLAVAILABLECORES  : 사용 가능한 모든 코어를 배틀그라운드에 할당시키는 명령어 입니다.

                                       이거 굳이 써야하나 싶어서 빼봤더니 프레임 엉망됩니다. 왜 그런지 모르겠네요.

                                                 알아서 코어 갯수 감지하여 처리해줄거라고 믿었는데 아니었습니다ㅠㅠ

                                                 사실상 1 코어가 최고 열일하는 형태이고 나머지는 슬금슬금 일하는 수준인데

                                                 그 슬금슬금의 수준이 이 명령어 하나로 달라지는건가 싶기도 하네요.

                                                 -cpuPause 명령어도 있긴 한데 굳이 필요가 없을 듯 해서 제거했습니다.

                                                 해외 레딧 게시판 보니 이 명령어 하나로 라이젠 유저들도 잘 쓰고 있더군요.


-threads : 쓰레드를 몇 개나 배틀그라운드에 할당시킬지 정의해주는 명령어 입니다. 역시나 이거 꼭 써야 돼? 싶어서

                  빼봤더니 프레임 엉망됩니다. 반드시 쓰세요...제가 스팀 게시판을 뒤져보니까 8 쓰레드까지는 잘 되는듯 합니다.

                  https://steamcommunity.com/app/578080/discussions/1/135513549093134195/

                  하이퍼쓰레딩 포함 8 쓰레드에서 성능 향상이 있었다는 글인데, 코어에 대해서는 다들 4개로 한정해서

                  이야기를 하더군요. 여튼 쓰레드는 8개까지 프레임 향상에 도움이 된다고 생각하면 될거 같습니다.


                  이퀄(=) 뒤 물음표 자리에 자신의 CPU의 쓰레드 갯수를 적으시면 되겠습니다.

                  -threads 4  혹은 -threads 8 이 되겠죠? 쓰레드가 8개 초과해도 그냥 8로 적으시면 될듯 합니다.

                           

-malloc=system : 동적 메모리 할당을 윈도우 시스템이 알아서 조정해달라는 명령어 입니다.

                            이거 없으면 프로세스끼리 서로 메모리 잡아먹기 시작할 때 여유분 없으면 게임 터집니다.

                            혹시나? 하고 빼지마세요. 진짜 에러 빵빵 터집니다.  직접 해본 사람은 압니다.

                            게임 다운 되는 정도가 아니라 그냥 멈춰버리더라구요. 윈도우 터집니다.


-nojoy : 조이스틱 드라이버 로딩 안하는 명령어 입니다. 리소스 조금이라도 아껴보고자....



< 번외 >

-sm4 : 4번 쉐이더 모델을 호출하라는 명령어 입니다. 이걸 넣으면 다이렉트X 10 기반으로 게임이 가동되고

           4번 쉐이더 모델 (음영 삭제 쉐이더)이 호출되서 그림자가 사라집니다. 나무나 바위로 인해 생기는

           그림자가 전부 사라져서 적들을 발견하기 쉬워집니다.


           다만 일반 오브젝트 표면 그래픽도 이질적으로 변하니까 잘 생각해서 쓰세요.

           -nojoy 뒤에 한칸 띈 후에 적으시면 됩니다. -nojoy -sm4 이렇게요.

           참고로 이거 쓰면 쉐이더 모델이 비디오램에 상주하므로 프레임 상승이 잘 안됩니다. 참고하세요.


------------------------------------------------------------------------------------------------------------


이쯤에서 말씀드려야할 것이, 위 명령어를 사용하신다고 해도 프레임이 막 100~120 이렇게 안나옵니다.

이제까지 제 글을 보신 분들은 아시겠지만, 세번째 글에 보면 동영상으로 막 140 프레임 넘게 찍히는 부분이 있습니다.

위 명령어들을 입력하신 다음에는 그만한 프레임을 못보실 겁니다. 높아봐야 100 정도 나오고 평균 70 정도 나옵니다.


그런데 왜 이게 프레임 최적화 종결글일까 이해가 안되실 분들을 위해 설명 드리겠습니다. (설명충 되어가네요 ㅠㅠ)


이 글 초반에 적었던 3번 조항 기억하시는지요? 개발자들 입장에서 프레임에 대해 생각해야한다는 내용이었죠.

제가 스팀 런처 명령어 종결을 짓고나서 게임을 수차례 돌려보고 느낀 점은,


배틀그라운드는 다이렉트X 11 기반이 맞기 때문에 -d3d9 명령어(다이렉트X 9 기반 실행)와

-force-feature-level-11-0 (다이렉트X 11 을 사용하지 말라는 금지명령어)를 빼는게 맞다는 것이 첫 번째 였습니다.


다이렉트X 11을 기반으로 개발했다면 바로 다이렉트X 11로 실행했을 때가 가장 적합한 최적화가 되어있을 것이다, 라고

추측했기 때문이었습니다. 그래서 -d3d9 명령어와 -force-feature-level-11-0 명령어를 지워버리고 테스트를 한 것입니다.

그런데 이렇게 테스트를 진행하다가 제가 놀란 것은, 어떠한 상황에서도 프레임 저하가 크게 없다는 사실이었습니다.


그 일례를 보여드리겠습니다.

20170519043102_1.jpg?type=w740


밀리터리 베이스 낙하 장면 입니다. 낙하산 몇개인지 보이시나요? 보이는 것만 13~14개, 지금 제 낙하산에 가린 것까지

합치면 못해도 15~16명은 밀리터리 베이스 내린 겁니다.


전 낙하가 끝나고 얼른 건물 안으로 숨었습니다. 바로 프레임을 재기 위해서죠 ~_~  총 맞을까봐 얼마나 무섭던지...

1.jpg?type=w740
 
2.jpg?type=w740


반경 200 미터에 못해도 10명은 밀집된 상황인데 70프레임 정도 나오더군요. 좀 하락해도 60프레임 정도...

꼭 이때 뿐만이 아니라 이어지는 게임에서도 최저 프레임 수준이 55 정도였습니다. 인게임 평균은 60~70 프레임.

(저 역시도 예전 세팅으로는 라스트 30인 남고 화이트존 근처에 다가가면 프레임이 40대 후반까지 떨어지곤 했습니다)


몇 번 이렇게 프레임을 측정하고 보니까 알겠더군요.

제작진들이 배틀그라운드를 개발할 때, 막 100프레임 120프레임 140프레임 뽑자고 고려하고 개발했을까요?

아마 그들은 최소 60 프레임 정도만 뽑아보자, 라고 생각하고 만들었을 확률이 크지 않을까요?

(제작진들도 개발하면서 144 모니터 가져다놓고 테스트 플레이 돌리진 않았을 것 같았습니다 ㅎㅎ)


반경 200미터 안에 밀집된 유저들이 저만큼 있는데도 프레임이 55 이상 나온다는건 이제까지의 상식을 깨는 겁니다.

근처에 유저들이 많아지면 프레임이 떨어진다는게 이제까지의 법칙이었다면,

앞으로는 - 왠만큼 몰려도 60프레임 가까이는 방어된다- 라는게 새로운 상식이 될지도 모르겠습니다.


최저 프레임을 55~60 선에서 드랍없이 안정적으로 유지하고 싶은 분들께 이번 글 내용대로 세팅하시길 권해드립니다.

예전처럼 최대 프레임을 최대한 높게 가져가고 싶다는 분들께서는 기존 다이렉트X 9 기반 명령어 세팅을 유지하시면 됩니다.


-----------------------------------------------------------------------------------------------------


글이 많이 길어졌지만, 인게임 그래픽 옵션에 대해서 잠깐 이야기하고 마무리할까 합니다.


일단 어떤 PC던지간에 기본적으로 안티앨리어싱은 높음으로 두시면 좋겠습니다.

그 이유는 세 가지인데....


안티앨리어싱을 높이는 것만으로도 CPU의 로드율을 많이 올릴 수 있다는 점 (= 그래픽카드 로드율도 함께 올라간다는 것)

안티앨리어싱은 울트라로 설정해도 프레임 저하가 거의 없다는 점 (오히려 GPU 로드율을 올려 프레임이 올라감)

안티앨리어싱을 높게 설정하면 텍스처가 낮음 정도여도 보기에 불편하지 않다는 점 (모서리가 매끈해지면서 보기 좋아짐)


CPU가 옛날 울프데일이나 데네브급이 아닌 한은, 안티앨리어싱은 높음 or 울트라로 설정해두시기 바랍니다.

프레임 잘 안나온다 싶으면 그때가서 내리면 됩니다. (그런데 내려서 얻는 이득보다 높여서 얻는 프레임 증가분이 더 큽니다)


텍스처는 부득이한 경우에도 매우낮음보다 낮음으로 두시는게 좋습니다. 시각적으로 보기 괜찮은 최저한도선이

사실상 낮음 옵션이라는 점과 -lowmemory 명령어가 재발견 됨으로써 8GB 메모리를 가진 PC에서도

텍스처 중간 옵션까지 사용하기 용이해졌다는 점이 그 이유입니다.

i7 CPU 사용하시는 분들은 무조건 높음이나 울트라 쓰세요. 그래픽카드가 1050Ti 이하라면 높음으로,

i7 + 1060 3gb부터는 울트라 권장합니다. 쓰레드 많은 CPU는 로드율 높이기 어렵습니다. 옵션 세게 주셔야 합니다.


안티앨리어싱과 텍스처를 울트라까지 줬다면 그 다음엔 효과 -> 거리 순서로 옵션을 높여가면서

테스트 게임을 두 판 정도씩 진행해보세요. 그리고 교전시나 좁은 화이트존 진입시 프레임 드랍이 생기는지

확인하시고 그런 현상이 잘 느껴지지 않고 최저 프레임이 55~60에서 보장되는 수준에서 설정을 고정하시면 됩니다.


포스트 프로세싱, 식생, 그림자(낮음 옵션 고정 추천)는 부득이한 경우 아니고선 증가시키지 마시기 바랍니다.

물론 PC 스펙 빵빵한 분들은 상관없는 이야기입니다 ^^;;


자신이 저사양 PC이다, 라고 생각되시는 분들은 안티앨리어싱 높음 / 텍스처 낮음  정도의 옵션으로 즐기시면

적당할 것 같습니다. 진짜진짜 저사양이신 분들만 텍스처까지 매우낮음 하시기 바랍니다. (GTX 660 이나 GTX750 이하 급)


----------------------------------------------------------------------------------------------------


티어링 현상 (화면 상하 찢어짐) 관련 해결방법 알려드립니다.


티어링 현상은 모니터 주사율보다 훨씬 높은 인게임 프레임으로 인해 발생합니다.

해결 방법은 수직동기화를 켜거나 인게임 최대 프레임을 모니터 주사율에 근접하게 맞추면 됩니다.

그런데 수직동기화는 잘못하면 인풋랙을 증가시켜 마우스 밀림 현상이나 키보드 반응이 느려지는 부작용이 있기 때문에

인게임 최대 프레임을 제한하는 쪽으로 수정하는 편이 좋습니다.


먼저 숨김 폴더와 파일을 볼 수 있도록 설정을 해야 합니다.

파일 탐색기에서 alt 키를 누르면 탐색기 상단에 메뉴 라인이 생깁니다. 거기서 도구 클릭 > 폴더옵션 클릭.

그리고 작은 창이 별도로 뜨면 중간의 [보기]탭 클릭 > 숨김 파일, 폴더 및 드라이브 표시 체크 > 적용 및 확인.


c:\사용자\administrator\AppData\Local\TslGame\Saved\Config\WindowsNoEditor\GameUserSettings.ini

위 경로로 접근하셔서 GameUserSettings.ini 파일을 메모장으로 열어주세요.


밑에서 17번째 줄을 보시면

FrameRateLimit=1000.000000    이렇게 적혀있을 겁니다.

여기서 1000.000000 을 바꿔 적어주세요.  숫자는 모니터 주사율 + 10  해서 적으면 됩니다.


60hz 모니터는 70.000000  /  75hz 모니터는 85.000000  / 120hz 모니터는 130.000000 / 144hz 모니터는 155.000000

바꿔서 적은 내용은 저장하고 메모장을 닫으면 끝입니다.


이렇게 바꿔 적으면 인게임 내에서 프레임은 바꿔 넣은 숫자가 최대 프레임 한계선으로 지정되어

아무리 높게 프레임이 나와도 프레임 표시 수치가 거기서 멈추게 됩니다.


모니터 주사율과 최대 프레임 제한이 10 정도 밖에 차이가 나지 않기 때문에 티어링 현상이 해소될 것 입니다.

마우스를 좌우로 급격히 돌릴 때 상하 화면이 심하게 찢겼던 분들은 이 방법을 사용하시기 바랍니다.


-------------------------------------------------------------------------------------------


이제 알려드릴 것들은 다 적은 것 같습니다.


저는 블루홀에서 돈을 받은 것도 아니고, 그저 제가 게임을 하다보니까 짜증이 나서 + 손님들에게 좋은 화면을

제공하고 싶은 욕심에 최적화 관련 연구를 하게 되었습니다. 생각보다 성과가 좋아서 다른 분들께서

관심도 많이 가져주시고 프레임 많이 올라서 좋다고 말씀도 해주시고 하네요.


그동안 고민도 없잖아 있긴 있었습니다.


이런 최적화 기법을 공개하는게 나에게 손해가 되는 것은 아닌가...다른 PC방은 잘 안되고 내 매장에서만

잘 돌아간다면 배틀그라운드 손님들도 많이 몰리고 돈도 좀 벌지 않겠나...이런 생각 안해본 건 아닙니다.

집에서 잘 안되는 게임, 어떤 PC방에서 잘 된다고 소문나면 차 몰고 찾아가서 밤새는게 게임유저들 속성이니까요.


저희 매장 장사 잘 안됩니다. 소규모 매장이기도 하고 위치도 그다지 좋은 편은 아닌데다 좀 거리가 떨어져 있긴 해도

요금 훨씬 저렴한 초대형 매장 2개나 있다보니까 근 석달 적자보고 있었네요. 덕분에 어떻게 적자라도 면해볼까하고

궁리하다가 접해본 게임이 배틀그라운드였습니다. 뭐라도 좀 될만한 거 하나 밀어봐야겠다 싶던 찰나에

요즘 반응 뜨거운 스팀게임 1위라는 소문을 들어서 한번 구매해본거였는데 이게 또 엄청 재밌더라구요.

덕분에 매장 관리는 더 안하고 배틀그라운드 하면서 프레임 테스트만 열흘 가까이 하고 있네요 ㅎㅎㅎ

제 매장 망해서 문 닫으면 배틀그라운드 탓인듯.


여튼 이제 이걸로 프레임 최적화 관련 글은 마무리하도록 하겠습니다 (_ _)

아마 다음 글은, 블루홀 측에서 최적화를 빠르게 잘 마무리 지어서 더 이상 작성 안했으면 하는 바램이네요 (_ _)


쓰다보니 어느 덧 다섯 시간이 훌쩍...우연히도 금요일 오전에 올리게 됐습니다.

이 글 따라서 잘 세팅하시고 금토일 신나게 배틀그라운드 하면서 치킨 디너 많이 드시길 바랍니다~


질문이나 피드백은 댓글로 주세요!

(단, 명령줄 입력 수치에 관한 내용은 본문을 참조해주시고 정말 모르겠다는 부분만 댓글 질문 주세요)


----------------------------------------------------------------------------------------------------


참고사항들.


서울 양천구 남부순환로 88길 10 , 덕영빌딩 3층 잼PC방


<테스트 PC사양>

CPU : 하스웰 리플래시 i5-4690 (4코어 4쓰레드)

메인보드 : 기가바이트 H81M-DS2V (바이오스 업데이트 F6 - 2015년 8월 최신)

램 : 삼성 DDR3-12800 4GB X 2개 = 8GB 듀얼채널

그래픽카드 : 갤럭시 GTX1060 OC 3GB

저장장치 : 별도 SSD/HDD 없음. No HDD 시스템으로, PC방 메인서버에서 전체 PC로 저장된 이미지를 로딩하여 사용.

통신선로 : KT 500MB 회선

OS : 윈도우7 프로페셔널 64비트

해상도 : FHD (1920 x 1080)


<테스트 인게임 옵션>

화면스케일 90

안티앨리어싱 울트라

텍스처 중간

그림자 낮음

그외 모두 매우낮음


-------------------------------- 끝 ---------------------------- 진짜 끝 ---------------------------------

[출처] 현재 빌드에서 프레임 최적화 종결글 (글 올리도록 도와주세요) (배틀그라운드 공식카페 - PLAYERUNKNOWN'S BATTLEGROUNDS) |작성자 플로지

후원댓글 6
댓글 6개  
이전 댓글 더 보기
이 글에 댓글을 달 권한이 없습니다. 로그인해 보세요.
그냥게임 공략게임 소식게임 추천제보이모티콘
2
제보
나 갑자기 왜 밴됨? [30]
즐겜전도사
05-20
3
그냥
오늘의 지식
착한골든햄스터
05-20
6
게임 추천
얍얍님 게임 추천합니다
tafutreezy
05-20
1
그냥
ㅡㅡ다시보기 왜지우냐
주작작쥬쥬작
05-20
7
05-20
3
그냥
오늘 잼잼잼? [2]
ミレパ
05-20
0
게임 추천
엘더스크롤5 스카이림 [2]
오희려조아
05-20
9
제보
가비방 어그로
happyalice
05-20
8
그냥
양명님이 어제 그러던데 [13]
이스더큐트
05-20
5
05-20
4
05-20
5
게임 추천
얍얍님 방종 잘하셧읍니다 [1]
꼬북선
05-20
2
05-19
19
05-19
3
05-19
8
그냥
킹갓위키 쇠좆크루 등재 [8]
매콤주먹
05-19
1
게임 추천
디텐션좀 해주세요
아고아고
05-19
0
05-19
3
게임 추천
울프어몽더어스 세일이다
윈칠이
05-19
1
게임 추천
니어오토마타안할꺼면 [1]
cocopam
05-19
3
05-19
1
05-19
인기글 글 쓰기