태터데스크 관리자

도움말
닫기
적용하기   첫페이지 만들기

태터데스크 메시지

저장하였습니다.

초보가 보는 세상

어디까지나 개인적인 생각을 정리하기 위한 글이므로 그냥 참조하기만 바람.




최근에 Crash Fixes가 나오면서 오버워치 때문에 접었던 스카이림을 다시 해보았음.


R9 280X를 사용했으며 전반적으로 그래픽 떡칠이 너무 많아서 정리한 부분이 많았는데 SKSE (SSME) 패치는 당연히


[Memory]

DefaultHeapInitialAllocMB=1280

ScrapHeapSizeMB=512


ExpandSystemMemoryX64=false

ReduceSystemMemoryUsage=true


이전 글과 같이 이걸로 사용 했었다.



최근 JK's Major나 그래픽을 정리하면서 VRam 사용량이 많이 줄었음에도 불구하고 전반적으로 랜덤 CTD의 경우가 상당히 잦았다.

물론 그 이유는 그래픽 CTD의 경우가 컸으며 특히 NPC들이 많이 싸울 때의 Immersive Patrol II가 프레임 하락이 꽤 심각했다. 물론 이런 걸로도 자주 팅겼었다.






Crash Fixes의 Preloader plugin과 같이 사용 한다는 전제로 얘기하고 설명하겠다. = v10 버전

개인적으로 ESP의 활용도 때문에 아이러니하게 여러가지 상황에서 테스트하게 되었다.




먼저 SKSE만 사용 했을 때는


스크립트 처리속도가 무난하다. 이를 일반적이라고 하겠다.

이 때에는 Frostfall도 3버전을 쓰기 이전이었는데 스크립트 밀림으로 인한 오류는 어지간해서는 볼 수 없었다. 무거운 모드들을 상당히 사용하지만 게임 도중 내에서 스크립트로 인한 포폴의 경고문이나 기타 다른 작용점들 및 처리부분에 대해서는 진짜 가끔 오류가 떴을 뿐이었다.






그러다가 Crash Fixes가 나오고 귀찮아서 SKSE값을 안지우고 같이 사용했는데


꽤 골치가 아픈게 스크립트 처리속도가 상당히 느려졌다는 것이다.

전혀 문제가 없었던 처리속도가 포폴에서 오류를 내뿜었으며 HDT 물리적인 작용에서는 문제가 없었지만 망토 부분에서 NPC들이 사용하는 망토들이 맵 전역을 덮어버리면서 안구테러를 보여줬다.


fPostLoadUpdateTimeMS=500 혹은 125 값을 사용했었는데 125는 도저히 버틸 수가 없는 상황이었고 250, 500도 무리. 결국엔 콘솔 값 2000으로 떼웠는데 그래도 오류를 내뿜는다.


하도 짜증나서 파피루스 메모리 설정을 부여했더니 많이 나아진 모습을 볼 수 있었다.


iMinMemoryPageSize=256

iMaxMemoryPageSize=9192

iMaxAllocatedMemoryBytes=2147483647


그래도 간간히 느껴지는 한계로 결국엔 포폴 3으로 업그레이드를 했고


HDT 같은 경우도 나아졌다. 다만 그래도 지연은 여전한 듯 HDT 망토에 대한 부분이 이전보다 은근히 처리가 늦다.


[HAVOK]

iNumThreads=5


현재 이 값을 의도적으로 지우고 사용 중이다. 물론 위 값을 사용해도 완화된다. (그래도 한계가 있음)


결론적으로 이해불능인 의도적인 스크립트 성능저하를 맛볼 수 있다.

팅김도 초반 로딩을 제외하고는 거의 안 팅기는 현상으로 보아 주로 그래픽에 의한 팅김인 듯 하다.






물론 Crash Fixes만 사용했을 때도 테스트를 해보았다.


먼저 말해두자면 게임 내에서 효과를 보았다.

컴퓨터 사용환경에 따라 다르겠지만 필자의 경우 병행해서 사용하면 기존에서 +3~5프레임을 이득 보았다.

Crash Fixes를 단독으로 사용할 경우 SKSE를 단독으로 사용했을 때와 별 차이는 없는 것으로 느껴진다.


Crash Fixes의 사용 이득으로 보았을 때는 로딩 속도가 빨라졌다는 점이다.

램의 유동적 활용화가 가능해지면서 Enblocal의 값을 재조정 할 필요성을 느꼈으며,

NPC들을 몇백을 불러도 팅기지 않는다는 점은 상당히 좋았다.


다만 스카이림 해적 모드인 Nordern Cardinal과 인테리어 및 익스테리어 추가 모드인 Radioactive를 쓰는데 단독으로 사용하게 될 경우 솔리튜드 쪽의 동제국회사 쪽의 빠른이동 혹은 Alternative Start 등으로 불러오기를 했을 시에 팅김현상이 발생했다.





개인적으로 느낀 SKSE와 Crash Fixes의 차이점을 보자면

SKSE는 고정적인 메모리 값을 미리 불러와서 게임을 진행하면서 Enbhost에다가 메모리를 축적하는 느낌으로 갑자기 과도하게 불러 올 경우 어김없이 CTD가 일어났으며,

Crash Fixes의 경우는 계속 폭넓은 유동적인 메모리를 사용함으로써 텍스쳐 부분들에 대한 과부하를 상당히 활용을 잘하는 느낌이다.

다만 무슨 이유인지 스크립트 속도의 저하가 아쉽다.




짧게 얘기하자면


    동제국 회사 지역의 Cell을 불러오는데 SKSE 메모리 패치로 했을 때 이미 메모리 값을 크게 불러온 상태에서 여유공간에 집어넣을 때는 불러와지는 반면에,

    사용량이 급격히 적은 상태에서 메모리를 갑작스레 크게 불러올 경우에 Crash Fixes의 경우는 감당하지 못했다.

    이 둘을 병행해서 사용했을 때 프레임도 프레임이지만 로드 했을 때 각각의 제 역할을 잘 하는 것으로 보인다. 이에 대한 연계가 어떻게 되는지는 모르겠으나 3시간 넘게 해도 팅김현상은 없었다.




Papyrus.0.log


파피루스 로그를 보면 에러가 좀 있긴 한 거 같은데 찾아서 수정하긴 귀찮고..

여튼간에 12시 15분 부터 2시 18분 까지 2시간 가량 테스트를 해보았고 새로운 지역 및 퀘스트 등을 많이 돌아다녀봤지만 크게 문제는 없었다.





Crash Fixes의 에러 부분이라면


ECE를 사용하는데 캐릭터의 머리카락을 선택하는 부분에서 4~5백개 가량 계속 고민하면서 바꾸니 팅긴다.

즉, 그래픽 메모리를 해소하지 못하고 계속 축적하는 현상을 보였다.




위 부분과 스크립트를 제외하면




또다른 이득을 찾아볼 수 있는데

개인적으로 모드 병합이 잦아서 ESP 파일의 용량이 커지는 경우가 많다.


아무 생각없이 멍때리고 실수로 106MB의 esp 파일을 만들고 실행했는데 불러와졌다. 물론 인게임내에서도 문제는 없었다.

(참조로 SKSE의 경우 50MB esp 파일이 초기로딩에서 메인화면 까지는 가지지만 그 이후 세이브파일 로딩은 안된다)

(물론 coc ctest, qasmoke 등도 먹히지 않는다, 무한로딩)


다만 문제점이 세이브를 하고 나니 106MB의 esp 파일이 포함된 세이브 파일이 로딩이 되지 않고 팅긴다는 점이다.

그래서 반토막으로 짜른 57.2MB, 50MB의 esp 파일로 2개로 나누어서 다시 테스트를 해보니 문제 없이 로딩이 된다.

게임 내에서도 퀘스트나 모드들이 제대로 적용된 모습을 확인할 수 있었다.


(이 이상 테스트 하기엔 너무 귀찮다.. 결론적으로 대충 60MB 이하로 esp를 만들자, 그것도 많다)

(참조로 당연히 세이브툴은 로드가 안되므로 모드 병합 할 시 주의하기 바란다)

(위의 파피루스는 50MB esp 두 개 부분도 포함된 것임)






결론?

SKSE 메모리 패치 및 Crash Fixes 및 Enbhost를 다 같이 사용하자.

(게임 환경이 모두 다 같지 않다는 점은 명심해두기 바람)

Comment +2

FOV 65 기본.




ELFX, 바스타드 당나귀 2.41 enb













Deadly Dragons + Elemental Dragons + Dragon Combat Overhaul


  윈드헬름에서 헬라첸 관계지 방향 쪽에서..








    아쉬운 점이라면 Elemental Dragons의 드래곤 공격 스킬의 저퀄리티..















Comment +0

8월 27일 수요일


추수감사절 기념으로 화이트런 여관에 올려져있던데 생각도 못하고 있다가 오는 여정중에 발견.


으로 복귀하는 때에 리버우드 및 화이트런.






FOV 65 (= 기본값, 그냥 조정안함)


ELFX, DarkKonan Age v3 enb



















ELFX, 바스타드 당나귀 v2.41 enb








    술 먹고 취객 등장..









Comment +0

최근 스카이림을 다시 접하게 되었는데 스카이림하면 역시 모드를 또 빼놓을 수 없다.


이것저것 다하니까 esp는 이미 300개가 넘어가고 (이젠 개수를 모르겠다) 그러다보니 잘 팅긴다 ...헐?!



위의 사진은 스카이림 퍼포먼스 모니터로 파악한 컴퓨터 자원 사용 내역.


  텍스처도 오죽 많으니 불러들이는데 약 32~34초 가량 걸린다.


  먼저 사양에 대해 얘기하자면 사진에 적혀있는바와 i7 2600 하이퍼스레드 On, SSD bx100그래픽카드는 레퍼 R9 280x이다.




  JK, Dawn 혼합에 ETAC, SFO등의 유명모드는 다 쓰고 있으며 전부 2K리텍에 패럴렉스?(Parallax), SMiM등 다쓰고 있다.

(아쉽게도 유니크의 Mindflux Grass는 못쓰겠다. // 쓸 수는 있는데 전투상황이 있을 때면 ..)


  마을에서 인구수로 인해 (이 또한 Populated 시리즈와 Etac, Dawn, Real Trader등등 마을 인원에 포함되는) 최하 10프레임을 유지하며 게임을 진행한다.


  이러한 상황에서 스카이림의 한계(3GB 이상 못쓰는)로 인해 필히 메모리패치, 그리고 enbhost는 필수이다.



  위의 사진을 보면 메모리가 5기가를 사용(오로지 스카이림에만)하는데 스카이림에 할당된 3GB를 포함하면 8GB를 사용한다고 볼 수 있다.

14GB인 상황에 윈도우7에서 약 3GB를 뺏어먹으니 게임 도중에 메모리가 없다고 스카이림을 끄라는 메모창이 뜨더라 ..


enbhost를 안쓰는 순간 무조건 팅김,

메모리 패치(skse or ssme)를 안쓰면 역시 무조건 팅김.




  먼저 가볍게 enbhost에 대해 보자면 스카이림의 자원이 32비트, 3GB 까지만 사용 가능하도록 되어 있으며 이상으로 치솟을 시 무조건 팅긴다. 즉, 이를 방지하기 위해 스카이림에 할당되어있는 자원을 enbhost에서 가져가주는 것.

여기서 ReduceSystemMemoryUsage 는 필수이다.

고사양(2K 이상) 리텍스쳐를 쓰는 사람들에게는 enb는 안쓰더라도 enbhost는 써라.



  메모리 패치는 두 가지 방법으로 나뉘어진다.

바로 SKSE와 SSME인데 두 가지 방식이 내가 알기로는 같은걸로 아는데 뭔가 다른 부분이 있는 듯 사람들 마다 적용후기가 조금씩 틀린 내용이 보인다.


  필자는 SKSE를 쓴다.

개인적으로 봤을 때 SKSE를 쓰든 SSME를 쓰든 별 차이는 없다.


  SKSE 메모리패치의 할당량이 최대 "default heap = 1280MB scrap heap = 512MB" 까지 제공,

  SSME 메모리패치의 할당량이 최대 default heap = 1024MB scrap heap = 512MB" 까지 제공된다.


  얼핏 보기에 SKSE가 최대 1280까지 지원하여 더 좋아보이지만

"default heap = 1280MB (effective 1024MB if not preloading animations)" -> 1280MB로 되어 있으나 애니메이션을 미리로딩하지 못했을 경우 1GB로 설정 됨" 이라고 즉, -256mb를 해버린다.


  이게 무슨 뜻인지 이해가 안되... 미리로딩을 어떻게하는거지?

결론은 둘 다 같다;;




  참고사항 1.

메모리 패치를 할 때 enblocal 설정에서 알아 둘게 있는게 'DefaultHeapInitialAllocMB' 가 768mb 값 초과로 설정할 시 'ExpandSystemMemoryX64' 항목은 false 시켜줘라.

그 이상의 값의 경우 어떻게 이뤄지는지는 모르겠지만 충돌이 일어나서 메모리패치가 적용이 안된다. (본인의 경우 예외없이 메인화면도 못띄운채 팅김)

└ ExpandSystemMemoryX64를 사용할 시 ReduceSystemMemoryUsage=true, EnableUnsafeMemoryHacks=false 로 되어있어야 한다.

└ ExpandSystemMemoryX64 : 메모리가 단편화 되는 것을 이동시켜서 보다 잘활용할 수 있게 해준다.


ps1. 64비트(최소 6GB 이상? // 윈도우 메모리가 1GB 잡아먹고 스카이림 3GB 잡아먹으면768mb까지 쓰는경우는 ExpandSystemMemoryX64를 써주자. (즉, 'DefaultHeapInitialAllocMB'가 SKSE의 경우 1024MB // SSME의 경우 768MB - scrap heap는 512MB해도 상관이 없다.)


  참고 사항 2.

그래픽 카드가 뒤떨어질 경우 높게 설정 했을 때 팅기는 사람들이 있는 것 같다.




  마지막으로 본인의 경우는

DefaultHeapInitialAllocMB=1280 -> SKSE 이므로 당연히 실제 값은 1024MB

ScrapHeapSizeMB=512


를 사용한다.

당연히 enblocal의 'ExpandSystemMemoryX64' 항목은 쓸 수 없다.

순간로드 메모리가 감당을 못해서 1GB 미만은 팅겨버리기에.. (당연히 Haven bag 같은 모드나 지역에서 저장안함.)



어찌어찌 불러오려다 팅겨버리는.. 그래프 화면.

(설정은 skse 1024mb = ssme 768mb에 scrap heap는 512MB, ExpandSystemMemoryX64는 true로 하든 false로 하든 무의미하지만 true.)





DefaultHeapInitialAllocMB : skse 1280mb = ssme 1024mb

ScrapHeapSizeMB : 512

ExpandSystemMemoryX64=false


or


DefaultHeapInitialAllocMB : skse 1024mb = ssme 768mb

ScrapHeapSizeMB : 512

ExpandSystemMemoryX64=true


  결론으로 깔끔하게? 말하자면 사용방법은 두 가지로 나뉜다.

개인적으로 ssme의 DefaultHeapInitialAllocMB=840mb, x64=false 보단 차라리 DefaultHeapInitialAllocMB=768mb, x64=true가 더 활용성이 좋아보인다.
물론 1024를 사용하지 못하고 필자와 같이 메모리가 감당하지 못할 경우엔 어쩔 수 없이 840이겠지만.



Crash Fixes에 관한 간단한 테스트 내용 : http://daysari.tistory.com/454

Comment +5

  • 행인1 2016.02.23 21:51

    enbhost와 enblocal은 어디서 찾을수 있나요?
    ReduceSystemMemoryUsage 항목은요?

  • 행인2 2016.05.30 00:48

    C:\Program Files (x86)\Steam\Steamapps\Common\Skyrim\enblocal.ini 에 있음

    전 이상하게 ssme나 skse 메모리 패치로도 ctd가 여전하더군요

    • CTD 원인은 다양해서 이 덧글만으로 단정하긴 어렵습니다.

      저같은경우 컴퓨터 메모리가 14기가 이지만 그래픽을 조절 못해서 윈도우 OS 메모리 2~4기가 사용량에 스카이림만 10기가 넘게 사용해서 저도 여전히 팅깁니다.
      그리고 스크립트 밀림으로 인한 팅김도 있고 모드들이 연관되면서 팅기는 오류도 있기 때문에 뭐라 말씀드릴게 없네요.
      어디까지나 최근에 나온 Crash Fixes나 메모리 패치등 들은 메모리 사용량에 따른 CTD 완화작용제일 뿐입니다.

  • 여행중인 도바킨 2016.11.10 10:46

    LE 메모리 확장에 대한 좋은 정보 감사드립니다
    멀티스레드 ini효과에 대해서도 아신다면 포스팅 혹은 댓글 부탁드립니다
    (스팀 SE 추가되어 플레이 해본 결과 아직까진 LE가 더 좋더라구요)

    • 이전에 개인적으로 테스트를 해보고 또 다른 분들이 한 결과도 보고.. 플라시보 때문에 햇갈리긴 했지만 객관적인 자료로 봤을 때 프레임 상승은 없었습니다.
      어디까지나 참조만 하시고 컴퓨터 자원 사용이 미묘하게 바뀌긴 했으나 프레임 상승 및 하락, 제 컴퓨터에선 둘 다 없었고 만약 플라시보라 하더라도 1-3 프레임 상승 차 였습니다.

      모드 때문이라도 SE 보단 아직은 ㅎㅎ.