* 현재 시스템 사양

 

i7-6700K 4.4Ghz, 16GB-3000Mhz 시스템 Ram 

GPU: RX 480 OC Nitro+ 8GB, 1920*1080 해상도 

윈도우10 64bit

 

  - 윈도우 최적화 해놓은 상태, 부팅시 메모리 1.8GB 정도 사용. superfetch, Windows Search 서비스도 끔.

 

 

배그도 언리얼 엔진을 사용하는데 4를 쓰더군요.

배그도 글을 올릴까 말까 고민하다가 올리기로 결정했는데 지나간 시간을 보니 후회가 읍읍! ㅠㅅㅠ

 

처음 인벤에 글을 올린게 오랜만에 테라 해야지! 하는데 여전히 최적화가 심각해서 최적화 글을 올렸는데

이 겜도 기본적으로 메모리 누수가 심하고 성능대비 자원 먹는게 커서 이것도 손대게 되었네요...... 흑흑...

프로그래밍 하는 수준이 아니고 보다 한정된 범위에서 적용을 하니 획기적인 정도는 아닙니당.

 

테라 이후 언리얼 엔진 겜들을 해보면서 옛날에 사용했던 것 외에 새로 또 적용하고...

배트맨 아캄 시리즈, 셜록홈즈 죄와 벌과 악마의 딸, 아크 서바이벌 이볼브드, 데드 바이 데이라잇 등등...

테라 이후(테라 글은 넥슨에 넘어가기 전 옛날이네요)

추가로 명령어 만지게 된 영향을 많이 받은게 배트맨(DecalCullDistanceScale), 아크 서바이벌 이볼브드임당.

 

아직도 배그자체의 프레임 편차가 맘에 들진 않지만

초반에 은근히 끊기는 것에 비하면

현재는 설정 후 끊기는 것 없이 부드럽게 플레이해서 올리게 되었습니다.

배그는 괜찮은게 또 뭐가 있나 하고 구글링한 내용을 적용해보고 사용하고 있네영.

 

메모리 누수 완화와 최대한 텍스쳐 위주의 그래픽을 좋게 하면서 성능이 나오도록 주안점을 두었습니다.

배그 플레이 초반엔 90대에서 110대도 보이고

배그를 오래하면 최소가 45정도일때도 보이지만 끊기는 느낌은 없고

지역마다 편차가 커서 100이상 넘을때도 있고 보통 평균적으로 6~90 프레임 정도 나오는 것 같습니당.

 

최대한 배그에 메모리를 할당했는데(한계치를 잡고 마냥 늘리지 않았음)

사용하시는 메모리양에 맞게 조정하시면 됩니당.

 

저는 리쉐이드는 안씁니다. 거기에 사용되는 안티앨라이싱 종류 때문에 지글거려서...

전 배그를 기본 다이렉트 11로 돌립니당.

 

설명만 보면 복잡해보이지만, 제가 첨부한 파일내용을 보면 간단하게 보이는 매직이?!

 

이 글에 나와있는 값들은 제 사양에 맞춘 값이니,

본 글과 제 인장글을 참고하셔서 본인의 사양에 맞게 값을 설정하세요.

(근데 배그는 워낙 최적화가 문제여서 텍스쳐와 안티를 제외한 나머지는 거의 낮은 값이라...)

 

사양에 맞게 적정값을 적용하면 눈으로 보이는 프레임 보다도 컴터가 화면에 반영하는 반응속도도 개선이 됩니다.

프레임에 비해서 부드러워지는 느낌이랄까요.

 

웬만하면 시스템 메모리가 16기가면 될텐데, 메모리는 부족하면 최소와 최대값을 같게 해서 가상 메모리를 사용하세요.

 

 

- 항상 원본파일은 백업해두세요!

 

- 첨부파일들은 모두 파일속성이 읽기전용에 체크되어 있습니다. 겜이 실행되면 기본으로 바뀌기 때문에 고정시킨 것이므로, 내용을 수정하려면 읽기전용을 풀고 수정하신 후 다시 읽기전용을 적용해주시면 됩니다.

개개인 마다 해상도나 설정들이 달라서 GameUserSettings.ini 파일만 첨부를 안했습니다.

 

- 제 사양과 비슷하신 분은 바로 첨부파일로 덮어씌워서 쓰시면 되는데(물론 원본 백업 추천!)

  [Engine.ISVHacks] 항목은 각 그래픽 회사에 맞게 적용해주시고,

  Scalability.ini의 프리셋 값과 GameUserSettings.ini에 있던

  [ScalabilityGroups] 하위 내용에 나오는 값을 제가 쓰는 걸로 일치시키세요.

 

 

 

 

 

1. 배그 라이브러리 속성의 시작 옵션 설정에 다음과 같이 명령어를 넣습니다.

 


-malloc=system -maxVram=7680 -heapsize 1572864 -maxMem=8192 -threads 8 -USEALLAVAILABLECORES -high -nojoy


 

- 설명

 

스팀의 시작 옵션 설정에 대한 것들은 대부분 이미 알려진 것 같지만 그래도 보기 쉽게 정리를 해봤습니다.

다이렉트 9나 10으로 구동하는건 같은 이유로 제외했고

이것은 적용해보고 더 나은 다이렉트 버전으로 구동하시면 됩니다.

* 참고: https://tgd.kr/1216684

 


-malloc=system -> 동적 메모리 할당을 윈도우가 자동관리하게 하는 명령어입니다. 메모리가 부족해서 갑자기 겜이 터지는 것을 예방합니다.

 

-maxVram= -> 자신의 그래픽 카드 메모리 중 배그가 점유할 수 있는 최대 동적 메모리 할당값을 설정합니다.

배그만 돌리는 경우, (글카 메모리 GB X 1024)-512(MB)로 계산해서 대충 넣습니다. 그 외 인터넷 좀 키고 이러시는 분들은 다른 프로그램이 차지하는 메모리 점유량에 맞춰서 조정하시면 됩니다.

 

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

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

 

-heapsize 1572864 -> 배그가 점유할 수 있는 최소한의 동적 메모리 할당량을 설정합니다. 이것도 메모리 부족으로 겜이 터지는 것을 예방합니다. 여기에 예시로 적은 것은 1.5GB입니다.

 

-maxMem= -> 배그가 점유할 수 있는 최대 동적 메모리 할당량을 설정합니다. 역할은 바로 위와 같습니다. 대충 자신의 시스템 메모리에서 1024 MB 정도 빼주시고 기타 무거운 걸 같이 돌리시면 추가로 더 빼주세요.

 

-threads 8 -> 자신의 CPU의 총 쓰레드 수를 입력합니다.

 

-USEALLAVAILABLECORES -> 가용가능한 모든 코어를 사용하게 하는 명령어입니다.

 

-high -> CPU 우선 순위를 최고로 두는 명령어입니다.

 

-nojoy -> 조이패드 드라이버를 불러오지 않게 합니다.

 

 

저는 윈도우도 최적화를 해서 불필요한 것들을 최대한 꺼서 처음 윈도우 부팅시 메모리 점유량이 약 1기가~2기가 정도 됩니다. 하지만 개개인에 따라 사용하는 플그램과 기본적으로 실행하는 프로그램들 때문에 필요한 실제 메모리량은 다르기 때문에 메모리 점유량과 관련된 내용은 설명한 것 보다 더 빼야할 수 있습니다.

 

 

 

 

 

2. 인겜 그래픽 옵션 설정


테셀레이션이나 광원효과, ssao 같은 애들이 자원을 많이 먹습니다.

* 기입해놓은 경로는 제어판>폴더옵션에서 숨김파일을 보이게 설정해야 나옵니다.

 

먼저, 인겜 그래픽 옵션을 먼저 다 설정해주세요.

그 후에 C:/Users/윈도우 계정명/AppData/Local/TslGame/Saved/Config/WindowsNoEditor로 가셔서 GameUserSettings.ini 파일을 메모장에서 엽니다.
여기서 [ScalabilityGroups] 항목내용이

인게임 그래픽 항목의 내용입니다.

0이 젤 낮은것, 4가 젤 높은 것인데요, 저는 텍스쳐와 안티는 젤 높게 설정하고 나머지는 낮춰서 아래와 같습니다.

-> 인겜 그래픽 항목의 내용인데 0이 젤 낮은 것이라고 했으므로 0이 매우 낮음, 1이 낮음, 2가 중간, 3이 높음, 4가 울트라 입니당.............

 

[ScalabilityGroups]
sg.ResolutionQuality=100.000000
sg.ViewDistanceQuality=3  높음
sg.AntiAliasingQuality=4    울트라
sg.ShadowQuality=1           낮음
sg.PostProcessQuality=0    매우 낮음
sg.TextureQuality=4           울트라
sg.EffectsQuality=0             매우 낮음
sg.FoliageQuality=0            매우 낮음

 

여기에 나온 값들이, 이 GameUserSettings.ini 파일과 동일위치에 있는 Scalability.ini의 옵션 정의 번호와 동일해야 합니다.

 

첨부된 파일을 열어보면 [항목명@1], [항목명@2], [항목명@3] 이런 식으로 되어있는데 이 숫자값과

GameUserSettings.ini에 있던 [ScalabilityGroups] 하위 내용에 나오는 값과 일치해야 한다는 겁니다.

저는 텍스쳐와 안티만 젤 높게 설정하고 나머지는 높은게 3(높음)이라서 프리셋 정의를 3까지만 만들었습니다.

본인이 설정한 옵션에 해당되는 값만 바꿔줘도 되겠지만

이왕이면 모든 옵션에 대해서 값을 적절하게 수정해주는게 더 낫겠죠.

(원본 파일은 내용이 아무것도 없어요!!

윗 설명에 쓴 말은 첨부된 파일입니다. 원본이 아니라!!)

0~9 이런식의 값들 외 64, 256, 2048 이런 값들은 2배를 곱하거나 나눠서 적용해주세요.

숫자의 배열을 보시면 어떤 것을 낮추거나 높여야 성능이 올라가는지 아실 수 있습니다.

 

여기에 나오는 명령어들이 많다보니 설명을 다 올리긴 힘들어서

수정 대비 체감이 큰 몇가지에 대해서만 설명을 올립니당.

 

Scalability.ini에 나오는 명령어 중 그림자 항목에서

r.AllowLandscapeShadows는 풍경 그림자를 on, off를 설정하는 것으로, 0과 1로 하시면 됩니다.

그림자를 다 지우는게 아니라, 언리얼 엔진에서 사용하는 그림자가 여러가지 있는데, 그 중 하나입니다.

얘도 체감이 큽니다.

 

그리고 그림자 최대 해상도를 설정하는 r.Shadow.MaxResolution 값은 2의 배수로 조절하시면 체감이 커질 겁니다.

 

 

 

 

 

3. 그 외 그래픽 엔진 파일들

 

배그는 그냥 원본으로 돌려보니 메모리 누수가 심해서 결국 겜이 튕겨서

이와 관련된 명령어들도 넣었습니다.

 

3-1. 에디터.ini - 메모리 누수 방지

경로: C:/Users/윈도우 계정명/AppData/Local/TslGame/Saved/Config/WindowsNoEditor,

                                                                           /Config

 

배그 기본 파일구성엔 디폴트에디터.ini나 에디터.ini 파일은 없을 겁니다.

제가 첨부한 파일엔 추가되어있는데, 그 파일 안에 적용되는 내용은

 

[Cooker.MatineeOptions]
bBakeAndPruneDuringCook=false

 

[Cooker.GeneralOptions]
bCleanStaticMeshMaterials=False
bCleanupMaterials=TRUE

 
아래와 같고 윗 항목은 제가 테라 최적화 팁글에도 올렸던 것으로,

메모리 누수에 여러 원인이 있는데 가장 많이 발생하는 경우에 해당되며, 이를 해결하는 명령어입니다.

 

아랫항목은 더 나중에 추가한 것으로, 이것도 해당되는 것들을 일정주기마다 날려주는 명령어입니다.

 

그런데, 겜마다 적용되는 파일이나 위치가 약간씩 달라서 저는 다 넣었습니다.

일일히 되는 위치나 파일을 판별하기 귀찮아서...

- 가장 기본적인 파일구조가 base에디터.ini, 그 담이 디폴트에디터ini, 그 담이 프로젝트명 에디터.ini 입니다.

 

적용해보니 적용이 되는 것 같습니다.

장시간해도 원본상태와 다르게 튕기지 않고 메모리가 무한 증식 하지는 않거든요.

 

 

 

3-2. Input.ini

경로: C:/Users/윈도우 계정명/AppData/Local/TslGame/Saved/Config/WindowsNoEditor

 

bEnableMouseSmoothing=false

이것이 True로 켜져있으면 
은근히 마우스로 조작할 때 오히려 부드럽지 않고 조작과 반응이 더 느립니다;;

 

 

 

3-3. Engine.ini

 

MaxParticleVertexMemory=131972
 
그냥 메모리 값이라고 해서 시스템 메모리인지 그래픽 카드쪽인지 알 수 없어
그냥 기본적인 값으로 넣었습니다.
 
[Engine.StaticMeshCollectionActor]
bCookOutStaticMeshActors=TRUE
MaxStaticMeshComponents=50
 
[Engine.StaticLightCollectionActor]
bCookOutStaticLightActors=TRUE
MaxLightComponents=100

 
셜록홈즈 악마의 딸 게임 설정파일에서 복사해왔습니다.
여기 위 2항목은 자세힌 모르나 메모리 관리에 도움이 되는 것 같아서 넣었습니다.
 
MaxFluidNumVerts=1048576
이건 524288이 기본값일 겁니다. 정확힌 모르나 사양이 부족하지 않다면 높이면 성능향상이 된다는 것 같습니다.

 
FluidSimulationTimeLimit=30.0
기본 30인데, 90이 더 나은 것 같았네요.
 
bCheckParticleRenderSize=True
MaxParticleVertexMemory=131972

 
이것도 메모리라고만 해서 시스템 램인지, 그래픽 카드 램인지 몰라
대충 기본값으로 넣었습니다.
 
MaxTrackedOcclusionIncrement=0.10
TrackedOcclusionStepSize=0.10

 
셜록홈즈 악마의 딸 게임 설정파일에서 복사해왔습니다. (오클루젼 관련 명령어)

 

MinLightMapDensity=0.0
IdealLightMapDensity=0.05
MaxLightMapDensity=0.2

 

최소, 최대, 이상적인 라이트맵 값입니다. 대충 기본

으로 넣었습니다.

 

 

 

이것들은 겜에 적용되어 있어야 같이 적용이 되는데, 어차피 적용이 안되면 알아서 적용이 안되니

배트맨 겜에서 찾아서 넣었습니다.

 

ProcBuildingLODColorTexelsPerWorldUnit=0.075
; Roughly how many texels per world unit when generating a building LOD color texture 
; 건물 LOD 색상 텍스쳐를 생성하고 있을때, 월드 유닛당 텍셀을 대략 얼마나 많이 설정할 것인가

 
ProcBuildingLODLightingTexelsPerWorldUnit=0.015
; Roughly how many texels per world unit when generating a building LOD lighting texture
; 건물 LOD 빛 텍스쳐를 생성하고 있을때, 월드 유닛당 텍셀을 대략 얼마나 많이 설정할 것인가
 
MaxProcBuildingLODColorTextureSize=1024
; Maximum size of a building LOD color texture
; IMPORTANT: If you change this, you should also consider changing TEXTUREGROUP_ProcBuilding_Face!
; 건물 LOD 색상 텍스쳐의 최대 크기
; 중요: 이걸 변경하려면 반드시 TEXTUREGROUP_ProcBuilding_Face를 변경하는 것을 또한 고려해야함!
 
MaxProcBuildingLODLightingTextureSize=256
; Maximum size of a building LOD lighting texture
; IMPORTANT: If you change this, you should also consider changing TEXTUREGROUP_ProcBuilding_LightMap!
; 건물 LOD 빛 텍스쳐의 최대 크기
; 중요:  이걸 변경하려면 반드시 TEXTUREGROUP_ProcBuilding_LightMap을 변경하는 것을 또한 고려해야함!
 
UseProcBuildingLODTextureCropping=True
; Whether to crop building LOD textures to rectangular textures to reduce wasted memory
; 낭비되는 메모리를 줄이기 위해 직사각형 텍스쳐로 건물 LOD 텍스쳐를 쳐내는 여부
 
ForcePowerOfTwoProcBuildingLODTextures=True
; Whether to force use of power-of-two LOD textures (uses more memory, but may have better performance)
; NOTE: Currently enabled until non-pow2 textures are supported on core platforms

; 2의 거듭 제곱 크기의 LOD 텍스쳐의 강제여부(대충 구글링해본 결과) (좀더 메모리를 사용하나, 더나은 성능을 얻을 수도 있다)
; 노트: 현재 2의 거듭 제곱 크기의 LOD 텍스쳐가 코어 플랫폼에서 지원될때까지 킴.
 
ImageReflectionTextureSize=1024
; Reflection Quality
; 투영(반사) 품질

 

 

[Engine.ISVHacks]
bInitializeShadersOnDemand=False
DisableATITextureFilterOptimizationChecks=False
UseMinimalNVIDIADriverShaderOptimization=False
PumpWindowMessagesWhenRenderThreadStalled=False


- ATI 카드인 분: 이거 그대로 하시면 됩니다.
- Nvidia 카드인 분: DisableATITextureFilterOptimizationChecks=True, UseMinimalNVIDIADriverShaderOptimization=True,
  나머진 그대로.

 

 

 

NetClientTicksPerSecond=15000

MaxClientRate=15000
MaxInternetClientRate=15000
NetServerMaxTickRate=15000
LanServerMaxTickRate=15000

 
틱레이트를 15000까지 올렸습니다. (네트워크 렉 감소효과)

대충 알아서 맥스값으로 적용될 겁니다. 일일히 테스트 하면서 하는건 테라와 마영전 최적화 당시 신물이 나서...

컴퓨터 사양과 인터넷 핑이나 반응속도가 받쳐주면 더 좋습니다.

 

물론, 서버가 터지면 접속에 문제가 생깁니다.

 

비대칭 랜선일 경우 병목현상이 올 수도 있으니 값을 적당히 낮추세요.

보통 기본값이 30이나 60 정도 됩니다.


DecalCullDistanceScale=1.000000
 
거리에 따라 화면에 가시적으로 출력합니다.
이건 배트맨 아캄 시리즈에서 발견했었는데, 불필요한 것들을 일정 거리에 맞춰 불러오지 않는 것으로
프레임이 더 올라갑니다. 테라 팁에 젤 처음 적용했었네요.
설정값은 0.1~1입니다. 아마 수가 작을 수록 더 안불러오는 거리가 길어질 겁니다.
 
bClearAnimSetLinkupCachesOnLoadMap=True
맵을 불러올때, AnimSet과 연결된 캐쉬들을 날리기!

오랜만에 배트맨 아캄 어사일럼 파일을 보니 괜찮아 보이는 것이 있어서 추가합니다.

 

OneFrameThreadLag=True
다이나믹 라이트 버퍼를 추가. True로 하면 계산하거나 선 렌더링하는 프레임을 더 빠르게 해주며, False로 할시, 초당 프레임의 비용만큼 품질을 준다.
(대충 True가 성능올리는 거라고 보심 됩니다)

 

 

[SystemSettings]

TEXTUREGROUP_의 항목들은 예전 테라 팁글도 참고하시면 됩니다. 대충 최소 LOD 사이즈, 최대 LOD 사이즈 값을

2배수로 조정하시면 메모리 점유량에 영향을 줍니다.

각각의 오브젝트에 어느 사이즈, 해상도로 입혀서 렌더링할 것인지 설정하는 거라고 보심 됩니다.

[SystemSettingsEditor] 항목도 비슷합니다.

 

 

우선은 텍스쳐 외의 것들 위주로 줄이시면 됩니다.
하늘이나 땅바닥 지형은 굳이 고품질로 표현할 필요가 없겠죠.
그림자도 우선적으로 텍스쳐가 좋아야 여유가 되면 좋게 해주니
그림자도 조절하시는 식으로 조절하시면 됩니다.
그래도 부족하면 텍스쳐 항목값도 낮추세요.

 

 

* 메모리 부족하신 분들은 추가로 이것도 수정해주세요.

[SystemSettings]


월드(이건 겜 전반적인 환경이라고 보시면 됩니다. 하늘, 땅, 배경이런거 말이죠.)
월드 노멀맵
월드 반사
 
TEXTUREGROUP_World=(MinLODSize=256,MaxLODSize=2048,LODBias=0,MipGenSettings=TMGS_Sharpen5)
TEXTUREGROUP_WorldNormalMap=(MinLODSize=256,MaxLODSize=2048,LODBias=0,MipGenSettings=TMGS_Sharpen5,LODStreamingBias=1)
TEXTUREGROUP_WorldSpecular=(MinLODSize=256,MaxLODSize=2048,LODBias=0,MipGenSettings=TMGS_Sharpen5,LODStreamingBias=3)
 
캐릭터
캐릭터 노멀맵
캐릭터 반사
 
TEXTUREGROUP_Character=(MinLODSize=256,MaxLODSize=2048,LODBias=0,MipGenSettings=TMGS_Sharpen5)
TEXTUREGROUP_CharacterNormalMap=(MinLODSize=256,MaxLODSize=2048,LODBias=0,MipGenSettings=TMGS_Sharpen5,LODStreamingBias=1)
TEXTUREGROUP_CharacterSpecular=(MinLODSize=256,MaxLODSize=2048,LODBias=0,MipGenSettings=TMGS_Sharpen5,LODStreamingBias=3)
 
무기
무기 노멀맵
무기 반사
 
TEXTUREGROUP_Weapon=(MinLODSize=256,MaxLODSize=2048,LODBias=0,MipGenSettings=TMGS_Sharpen5,LODStreamingBias=0)
TEXTUREGROUP_WeaponNormalMap=(MinLODSize=256,MaxLODSize=2048,LODBias=0,MipGenSettings=TMGS_Sharpen5,LODStreamingBias=2)
TEXTUREGROUP_WeaponSpecular=(MinLODSize=256,MaxLODSize=2048,LODBias=0,MipGenSettings=TMGS_Sharpen5,LODStreamingBias=3)
 
탈것
탈것 노멀맵
탈것 반사
 
TEXTUREGROUP_Vehicle=(MinLODSize=512,MaxLODSize=2048,LODBias=0,MipGenSettings=TMGS_Sharpen5,LODStreamingBias=0)
TEXTUREGROUP_VehicleNormalMap=(MinLODSize=512,MaxLODSize=2048,LODBias=0,MipGenSettings=TMGS_Sharpen5,LODStreamingBias=2)
TEXTUREGROUP_VehicleSpecular=(MinLODSize=512,MaxLODSize=2048,LODBias=0,MipGenSettings=TMGS_Sharpen5,LODStreamingBias=3)
 
인겜 영상
 
TEXTUREGROUP_Cinematic=(MinLODSize=256,MaxLODSize=4096,LODBias=0,MipGenSettings=TMGS_Sharpen5)
 
효과
필터되지 않은 효과
 
TEXTUREGROUP_Effects=(MinLODSize=128,MaxLODSize=2048,LODBias=0,MipGenSettings=TMGS_Sharpen5,LODStreamingBias=1)
TEXTUREGROUP_EffectsNotFiltered=(MinLODSize=1,MaxLODSize=4096,LODBias=0,MinMagFilter=aniso,MipFilter=point)
 
하늘
TEXTUREGROUP_Skybox=(MinLODSize=512,MaxLODSize=2048,LODBias=0,MipGenSettings=TMGS_Sharpen5)
 
UI
TEXTUREGROUP_UI=(MinLODSize=512,MaxLODSize=2048,LODBias=0)
 
빛맵 
TEXTUREGROUP_Lightmap=(MinLODSize=512,MaxLODSize=2048,LODBias=0)
 
그림자맵
TEXTUREGROUP_Shadowmap=(MinLODSize=512,MaxLODSize=2048,LODBias=0,NumStreamedMips=3)


렌더링되는 대상(타 텍스쳐, 타 캐릭터 이런 것) 
TEXTUREGROUP_RenderTarget=(MinLODSize=1,MaxLODSize=2048,LODBias=0)


이동수단 
TEXTUREGROUP_MobileFlattened=(MinLODSize=8,MaxLODSize=256,LODBias=0,MipGenSettings=TMGS_Sharpen5)

지형 텍스쳐 관련
TEXTUREGROUP_Terrain_Heightmap=(MinLODSize=1,MaxLODSize=4096,LODBias=0,MinMagFilter=aniso,MipFilter=point)
TEXTUREGROUP_Terrain_Weightmap=(MinLODSize=1,MaxLODSize=4096,LODBias=0,MinMagFilter=aniso,MipFilter=point)


아마 먼 대상물을 흐리게 하는 효과였을겁니다.
TEXTUREGROUP_Bokeh=(MinLODSize=1,MaxLODSize=256,LODBias=0,MinMagFilter=linear,MipFilter=linear)

 

 

 

[/script/engine.renderersettings]

Scalability.ini의 내용과 겹치는 부분은 똑같게 적용했습니다.

귀찮으시면 Scalability.ini과 중복되는 부분은 지우셔도 됩니다.

이것도 명령어가 많은 관계로 생략할게요 ㅠ_ㅠ

블룸이나 앰비언트 오클루젼은 끄거나 최소로 값을 설정했습니다.

대부분은 거의 최소로 했습니다.

 

 

BoostPlayerTextures=3.0
이게 기본값인데, 0이 되면 찰흙이 됩니다.

4.0이면 기존보다 텍스쳐가 아주 조금 더 좋아지는데 자원은 별로 안먹습니다.

배그에선 큰 차이는 없지만 약간 차이가 납니다.

 


[CustomStats]

프레임이 개선되는 것으로 넣었습니다.

 

 

TimeBetweenPurgingPendingKillObjects=60
오브젝트를 죽이는걸 유보하고 날리는 사이의 시간설정. 단위는 초입니다. (기본값)

여기까지의 명령어들은 http://annihilation.info/tribes0/tribesascend_ini.htm 이 사이트에서 참고하시면 됩니다.
이 사이트에 나온 최소값과 최대값이 다 맞는 것 같지는 않습니다.

 

 

 

[TextureStreaming]

 

PoolSize=1024
그래픽 카드 1GB이신 분은 512로 해주세요.
잔렉과 반응속도 개선됨.

[MemoryPools]
FLightPrimitiveInteractionInitialBlockSize=1024
FModShadowPrimitiveInteractionInitialBlockSize=1024

이 항목도 비슷합니다.
 
MemoryMargin=256
킵해두는 메모리 한계
 
HysteresisLimit=20
비논리적인 로딩/언로딩 요청을 제한하는 한 LOD에서 또다른 LOD로 이행하고 있을때, 렌더링 되는 텍스쳐에 대한 제한설정. 최소값이며, 최대값은 30.


DropMipLevelsLimit=16
텍스쳐 LOD를 올리기 전에 감소시킬 밉레벨의 수를 설정. 16이상 수치는 GPU 메모리와 파일 캐싱을 증가시킴.


StopIncreasingLimit=12
밉을 pop-in하는 텍스쳐에 대한 메모리 제한설정, 단위는 MB. Poolsize와 함께 올리면 떨리는 문제에 도움됨.


StopStreamingLimit=12
스트리밍하는 텍스쳐에 대한 메모리 제한설정, 단위는 MB. Poolsize와 함께 올리면 부드럽게 스트리밍하는 것에 도움됨.
 
MinEvictSize=10
필요한 만큼 불러온 텍스쳐 타일에 대한 메모리 제한 설정, 그리고 그후 캐쉬 규정당 필요한 만큼 내쫓는 크기.
 
MinFudgeFactor=1
텍스쳐 스트리밍에 대한 오류 최소 한계값 설정. 기본값.



LoadMapTimeLimit=0.0 → 이건 0으로 설정했습니다.
 
LightmapStreamingFactor=0.2
ShadowmapStreamingFactor=0.2
MaxLightmapRadius=2000.0

 
AllowStreamingLightmaps=True → 키면 거리에 따른(현재에 위치하는) 빛맵 렌더링하는 것을 적용하게 됩니다.
 
FudgeFactorIncreaseRateOfChange=0.5
FudgeFactorDecreaseRateOfChange=-0.4
MinRequestedMipsToConsider=11
MinTimeToGuaranteeMinMipCount=0
MaxTimeToGuaranteeMinMipCount=0
UsePriorityStreaming=True

 


UseTextureFileCache=True
TextureFileCacheBulkDataAlignment=1

얘네들은 세트인데, 캐쉬로 그래픽 카드 메모리에 상주시키는 걸로 알고 있습니다.
그래서 사양에 맞는 경우, 얘네들을 키면 잔렉이 줄어들고 더 부드러워집니다.
예전에 테라 설정파일을 손대면서 이것저것 만졌을때, 다른 명령어와 맞지 않으면
계속 사용하는 메모리가 늘어나 그래픽 카드 메모리가 부족해지는 경우도 있었습니다.

 

제 경우에 현재 배그는 문제가 없었네요.


이 옵션들은 
최소 1GB 그래픽 카드 이상 권장인데,

1GB 카드 쓰시거나 만약 시스템 메모리가 계속 증가해서 메모리가 부족하시면 이 명령어 2개를 지워주세요.

 

 

 

[DevOptions.Shaders] 항목추가.
예전 엔진파일을 수정했던 것에서 가져왔습니다.
멀티 스레딩 적용된 쉐이더 컴파일 on 명령어, 사용하지 않는 스레드수 0으로 수정했던 것,

나머진 예전 원본 그대로 복붙.

 

 

 

 

 

* 기타

 

- 항상 원본파일은 백업해두세요!

 

- 첨부파일들은 모두 파일속성이 읽기전용에 체크되어 있습니다. 겜이 실행되면 기본으로 바뀌기 때문에 고정시킨 것이므로, 내용을 수정하려면 읽기전용을 풀고 수정하신 후 다시 읽기전용을 적용해주시면 됩니다.

개개인 마다 해상도나 설정들이 달라서 GameUserSettings.ini 파일만 첨부를 안했습니다.

 

- 제 사양과 비슷하신 분은 바로 첨부파일로 덮어씌워서 쓰시면 되는데(물론 원본 백업 추천!)

  [Engine.ISVHacks] 항목은 각 그래픽 회사에 맞게 적용해주세요.

 

- 토글, 키설정 모두 GameUserSettings.ini 여기에 저장되니 키설정외는 먼저 다 하시고
  인겜에서 키와 토글설정까지 하신 후 저장하신 걸 보관해서 사용하시면 됩니당!

 

  피방이면 주로 가시는 피방 CPU 최대가능 쓰레드 수와 글카 용량,

  시스템 메모리(실제 가용가능한 메모리도)를 확인하셔서 이 부분을 추가조정하시면 됩니당!

 

  실제 메모리 사용중인 점유량과 여유 공간 확인은 cleanmem, RamMap 같은 프로그램으로 확인가능하고,

  메모리 청소도 가능합니다.

 

- Tab 키를 눌러서 뜨는 화면은 사양이 낮은경우에 렉이 심하다는 것을 어느 유튜브 영상에서 접했는데,

  이때는 거의 초창기라 현재도 어떤지 모르지만

  만약 그런 분들은 제 인장글의 'UI 반응개선 등' 글을 참고해주세요!

  적용할 파일은 스팀폴더/steamapps/common/PUBG/TslGame/Binaries/Win64TslGame.exe 입니다!

 

  그 전에 봤던 영상을 보면 테라와 마영전의 프레임 드랍의 주범인 UI 툴의 문제가

  비슷하게 나타나는 것으로 보입니당.

  이것은 새로 적용된 Coherent UI 툴이 똑같이 Flash 구성요소를 활용해서 그런 것 같네용.

 

- 프레임 제한 거는 방법은 GameUserSettings.ini 파일에서 FrameRateLimit 값을

  원하시는 값으로 설정하시면 됩니다. 예: FrameRateLimit=144

  수직동기화는 온라인의 경우 인풋렉을 유발하므로 수직동기화는 끄시고 프레임 제한만 거시는걸 추천합니다.

  모니터가 60hz라도 이건 모니터가 쏘는거고 프레임은 컴터가 쏘는 것이니

  프레임을 60보다 높게 잡아도 됩니다. 저는 오버워치 프레임 제한을 144 두고 씁니다.

  이건 네이버 카페에서 첨 봤네영.

 

- 네트워크 핑 개선이나 모든 CPU 코어 활성 및 기타 팁,

  이 글외의 명령어와 관련된 팁들은 제 인장에 나오는 글들을 참고해주세요!

 

- 윈도우10 쓰시는 분들은 https://extrememanual.net/7706 여기를 참고하셔서

  윈도우10 메모리 누수현상을 해결하세요. (윈8이상)

 

- 소리가 씹힐 때 내용 추가 (2017.10.09 추가)

  발소리 등 일부 사운드가 간혹 랜덤적으로 씹혀서 안날 때가 있습니다.

  외국에서도 빈번하게 겪고 있네요 ㅂㄷㅂㄷ

  그럴땐 Engine.ini에 아래 내용을 추가하세요. (수정후 다시 읽기전용 속성 체크!)

  서너시간 해보니 효과를 본 것 같아 추가합니다.

 

  볼륨을 조절하거나 특정 음역대의 볼륨을 조절하면 해당되는 음역대의 볼륨이 모두 변경되어

  원근감이 사라져서 옛날 테라에 있던 내용을 복붙했습니다.

 

 

[WinDrv.WindowsClient]
AudioDeviceClass=XAudio2.XAudio2Device
ParanoidDeviceLostChecking=1

 

[ALAudio.ALAudioDevice]
MaxChannels=128      <-소리가 밀리거나 반응이 느려지는 등 역효과 발생시, 64나 2배수중 다른 값으로 바꾸세요.
UsePrecache=False
ReserveChannels=2    <-올려도 지장없다면 좀더 올리셔도 될 듯
UseEffectsProcessing=True
TimeBetweenHWUpdates=15
MinOggVorbisDurationGame=5  <-테라와 마찬가지로 ogg 파일을 사용하는 듯 하여 그대로 복붙함.
MinOggVorbisDurationEditor=5
DeviceName=Generic Hardware