TECHARTNOMAD | TECHARTFLOWIO.COM

TECH.ART.FLOW.IO

Nintendo Switch game contents GPU Frame profiling

jplee 2023. 11. 11. 02:12

주의.

본문을 작성하기 전에, 저는 Nintendo Switch의 실제 사용자임을 지적하고 싶습니다.
이 기사는 GPU 프레임워크를 분석하기 위해 에뮬레이터를 사용하는 방법에만 관한 것입니다.

 

2019년 12월 즈음에 신동네트워크에 다닐 때 중국어로 작성 해 둔 간단한 에뮬레이터를 활용한 GPU 프레임디버거를 사용하여 닌텐도 전용 게임을 역분석 해 보는 내용의 일부를 다시 한글화 하여 올려봅니다.

필자는 당연하게도 닌텐도 스위치와 젤다 게임의 정품 사용자 이고 심지어 닌텐도 스위치 개발자 인증도 받은 상태이오니 불법 애뮬을 실제로 게임플레이에 사용하거나 하지 않고 있습니다. 이점 꼭 명심 해 주시구요~

 

Nintendo Switch game은 Frame debug를 사용하여 분석하는 방법을 요약한 페이지입니다.

Summary

Emulator

  1. CEMU Emulator
  2. YUJU Emulator Early version.
  3. INTEL GPA GPU Analyzer.RenderDoc
  4. ControllerProfile.

위에 두 개 중에 하나 고르시면 됩니다.

게임 컨트롤러를 준비하는 것을 권장합니다.
타오바오 등에서 닌텐도 스위치의 게임 컨트롤러를 구매하거나 XBOX ONE이나 PS4의 게임 컨트롤러를 사용할 수 있습니다.
키보드를 사용할 수 있지만 설정이 불편합니다.

Roms

닌텐도 스위치 게임을 나타냅니다.
최근에는 런크 다운로드를 이용할 수 있는 곳이 대부분 사라졌습니다.

Controller Profile.

 

OneDrive

 

onedrive.live.com

CEMU 설정 및 환경설정.

일반적으로 CEMU 사용

준비물을 설정하세요.

순서대로 설정하다

최신 CEMU 설치 파일

http://cemu.info/releases/cemu_1.21.3.zip

원하는 HDD로 추출합니다.

CEMU HOOK FILE

https://files.sshnuke.net/cemuhook_1159_0573.zip

 

CEMU GraphicPack

https://slashiee.github.io/cemu_graphic_packs/

 

 

압축을 풀고 모든 디렉터리를 복사하여 CEMU 실행 파일의 디렉터리에 있는 graphicPacks 디렉터리에 붙여넣습니다.

ROMS 설정.

The Legend of Zelda Breath of the Wild는 설치 및 구동 검사를 진행합니다.
Profiling은 NDS 게임의 ROM 파일을 다운로드합니다.
요즘은 MapleSeed2로는 ROM 다운로드가 어렵습니다.
https://github.com/FailedShack/USBHelperInstaller/releases/tag/1.2%E5%BB%BA%E8%AE%AE%E4%BD%BF%E7%94%A8

 

아니면 중국 타오바오 계정이 있는 경우 타오바오를 사용하는 방법도 있습니다.

 

 

최신 버전을 설치할 때 인터넷에서 다운로드한 후 설치하는 형식을 사용합니다.
설치하는데 시간이 오래 걸리겠지만 개의치 마시고 우선 설치해주세요.

게임 설치 디렉토리를 확정하고 실행하면 아래 두 주소를 사용할 수 있습니다.

http://vault.titlekeys.ovh/

 

Secret Area

It's dangerous to go alone! Take this.

vault.titlekeys.ovh

 

위와 같은 창이 나타나면 OK.다운로드 가능성은 지역 위치에 따라 달라집니다. 가능하다면 JAPAN에서 설정해 달라고 합니다.

 

 

다운로드 속도는 회사 인터넷을 사용할 때 상당히 좋습니다.

Zelda breath of wide를 다운로드하면 자동으로 3개의 데이터가 전송됩니다.

 

 

다운로드가 완료되어 압축을 풀었습니다.
다운로드 완료에서 Zelda를 선택하고 마우스 오른쪽 단추를 누르면 압축 풀기 메뉴가 나타납니다.

다시 한번 말씀 드리지만 저는 정품 유저 입니다.

 

압축을 풀 경로를 찾으면 위와 같이 총 3개의 폴더가 있습니다.(정상 압축해제 체크)
여기 USB Helper의 작업이 완료되었습니다.

CEMU의 게임을 구동하는 방법.
일반 설정/그래픽으로 이동합니다.

 

 

Graphics API를 Vulkan으로, VSync를 Triple buffering으로, Upscale filter를 Nearest Neighbor로 변경합니다.
(컴퓨터의 성능이 좋으면 Bicubic으로 설정해주세요)

MLC path와 Game Paths를 추가하거나 수정합니다.

오디오에서 TV 볼륨을 100으로 변경합니다.

  1. Game Installation step。
    C:\ROMS\NDS_Roms\The Legend of Zelda Breath of the Wild [ALZP01]\code 중에서  U-King.rpx는 Cemu에서 Road 메뉴를 가져옵니다.
    로딩이 완료되면 업데이트가 필요한 메뉴가 표시됩니다.
  2. C:\ROMS\NDS_Roms\The Legend of Zelda Breath of the Wild (UPDATE DATA) (v208) (3.253 GB) (EUR) (unpacked)\meta 카탈로그에서 meta.xml 추가 업데이트 하겠습니다.이때 Load menu 대신 Update or installation DLC menu가 사용됩니다.
  3. C:\ROMS\NDS_Roms\The Legend of Zelda Breath of the Wild (DLC) (2.297 GB) (EUR) (unpacked)\meta 의 meta.xml。

정상적인 DLC 설치가 완료되었습니다.

Graphic 설정을 변경합니다.

활성화를 위해 필요한 요소만 선택합니다.
특히, 당신의 그래픽 카드가 NVIDIA라면, NVIDIA와 관련된 그래픽 카드만 활성화시켜 주세요.

실행 및 확인.

정상작업이 확인되었습니다.

이제 최적의 옵션으로 설정하고 Intel GPA와 같은 쉐이더 후킹 및 Render pass를 분석합니다.

Frame Debug를 해보자.
도구.
https://renderdoc.org/stable/1.10/RenderDoc_1.10_64.msi
RenderDoc 사용.
Intel GAP에서 Vulkan으로 가는 동안 오류가 발생했습니다. OpenGL은 Frame Capture가 아닙니다.
RenderDoc 설치 후 Launch Application 경로를 Cemu로 설정합니다.exe를 병렬로 실행합니다.

 

정상적으로 작동한다면, OpenGL은 위와 같습니다.F12, PrtCrn to capture에 메시지가 표시됩니다.
원하는 시나리오에서 Print Screen 키를 눌러 닫습니다.

정상적으로 '검색'이 되면 위의 아이콘 Capture Progress 메뉴바가 나타납니다.

 

캡처 완료되었습니다.
Vulkan API가 제대로 실행되지 않았기 때문에 Cemu Graphics API를 OpenGL로 변경하고 캡처해야 합니다.

어떻게 도형의 품질을 향상시키나요?

리쉐이드와 레이트레이싱으로 젤다 봇과 세뮤를 설정하는 방법.

https://reshade.me/

 

Home

ReShade is a generic post-processing injector for games and video software developed by crosire. Imagine your favorite game with ambient occlusion, real depth of field effects, color correction and more ... ReShade exposes an automated and generic way to a

reshade.me