여러 nDisplay 클러스터 노드에 걸친 동기화는 LED 심 사이의 티어링(tearing)을 피하고 카메라가 LED 월 위의 렌더링된 서로 다른 프레임을 캡처하지 않도록 하는 데 있어 매우 중요합니다. 이 페이지에서는 NVIDIA GPU에서 nDisplay 동기화를 구성하는 방법을 살펴봅니다. nDisplay에서 동기화가 작동하는 방식에 대한 자세한 내용은 nDisplay에서의 동기화를 참고하세요.
현재로서는 nDisplay 노드 전반에서 정확한 동기화를 구현하려면 문제 해결이 필요할 수 있습니다. 버추얼 프로덕션 촬영 전에 동기화에 대비하여 nDisplay 클러스터 노드를 준비하는 것이 좋습니다.
전제 조건
아래 단계를 완료하려면 다음과 같은 구성이 필요합니다.
-
nDisplay 노드 하나당 NVIDIA Quadro Sync II 카드 하나
-
(mGPU 구성 전용) NVIDIA SLI 또는 NVLINK
-
호환 가능한 Quadro GPU. 카드는 각 nDisplay 노드마다 동일한 사양을 가지고 있어야 합니다.
-
Cat-5 또는 Cat-6 RJ45 케이블
-
트라이 레벨 또는 바이 레벨 동기화 제너레이터
-
BNC 케이블
-
각 nDisplay 노드마다 동일한 사양을 가지고 있으며 Windows를 실행하는 PC
-
Quadro 카드가 DisplayPort 출력만 가지고 있지만 LED 프로세서가 HDMI 입력만 받아들이는 경우에는 신호를 변환해야 합니다. 신호를 변환할 수 있는 방법 중 하나는 어댑터를 사용하는 것입니다.
구성에 사용하면 좋은 권장 하드웨어를 확인하려면 인카메라 VFX 권장 하드웨어를 참고하세요.
1단계 - NVIDIA 드라이버
버전 R512.59 이상의 NVIDIA 최신 드라이버를 설치합니다.
버추얼 프로덕션에 권장되는 드라이버 정보는 NVIDIA 드라이버 다운로드 페이지에서 확인할 수 있습니다. 그래픽 카드 타입과 OS를 선택하고 다운로드 타입(Download Type) 을 프로덕션 브랜치/스튜디오(Production Branch/Studio) 로 설정하여 권장 드라이버를 찾습니다.
2단계 - 머신 환경설정
젠록(genlock) 과 프레임록(framelock) 을 모두 사용하는 데이지 체인 연결로 시스템을 환경설정합니다.
-
외부 동기화 소스는 젠록을 위한 BNC 케이블을 통해 마스터 동기화 카드로 들어옵니다.
-
RJ45 케이블은 프레임록을 위해 나머지 nDisplay 노드의 나머지 동기화 카드를 데이지 체인 방식으로 연결합니다.
-
동기화를 위해 'NVIDIA 제어판(NVIDIA Control Panel)'을 환경설정합니다. 특히 수직 동기화(vertical sync), 즉 vsync 글로벌 세팅이 3D 애플리케이션 세팅 사용(Use the 3D application setting) 으로 설정되도록 합니다. 이 단계에 대한 자세한 내용은 NVIDIA의 Quadro Sync II 사용자 가이드를 참고하세요.
환경설정이 완료되면 머신이 멈추거나 Windows 로그인 화면에 멈춰 있지 않는 한 NVIDIA 동기화는 그 상태 그대로 머물러 있어야 합니다. Quadro Sync II 카드에서 NVIDIA 제어판 세팅을 가지고 동기화 LED 표시기를 모니터링하여 프로덕션이 진행되는 동안 동기화가 잘 유지되는지 확인하는 것이 좋습니다.
이와 같은 방식으로 이 구성을 위한 케이블을 연결하면 NVIDIA 동기화 데이지 체인의 순서와 반대로 nDisplay 노드를 다시 시작할 수 있습니다. 이 단계에 대한 자세한 내용은 NVIDIA의 Quadro Sync II 사용자 가이드를 참고하세요.
3단계 - NVIDIA Mosaic
nDisplay는 프라이머리 디스플레이에만 출력해야 합니다. 하나 이상의 비디오 출력이 필요한 경우 NVIDIA Mosaic을 사용하여 비디오 출력을 커다란 하나의 데스크톱으로 환경설정해야 합니다.
모든 디스플레이는 서로 연결되어 동일한 해상도, 새로 고침 속도, 컬러 관리를 공유해야 합니다.
-
NVIDIA 제어판을 엽니다.
-
3D 세팅 관리(Manage 3D settings) 로 이동합니다.
-
글로벌 프리셋(Global Presets) 을 워크스테이션 앱 - 다이내믹 스트리밍(Workstation App - Dynamic Streaming) 으로 설정합니다.
-
세팅(Settings) 아래에서 파워 관리 모드(Power management mode) 를 최대 퍼포먼스 선호(Prefer maximum performance) 로 설정합니다.
-
-
(SLI를 사용하는 mGPU 전용) SLI 및 PhysX 환경설정(SLI and PhysX Configuration) 으로 이동한 다음 3D 퍼포먼스 최대화(Maximize 3D performance) 를 선택합니다.
-
시스템 토폴로지 보기(View system topology) 로 이동한 다음 EDID 를 클릭하여 디스플레이 정보를 잠그고 다시 쿼리하지 않도록 사용된 출력 포트에 EDID를 익스포트하여 로드합니다.
또는 매트릭스 또는 스위처와 같은 외부 하드웨어 디바이스를 통해 EDID를 관리할 수도 있습니다. EDID에 대한 자세한 내용은 EDID 섹션를 참고하세요.
-
Mosaic 구성(Set up Mosaic) 으로 이동한 다음 새 환경설정 생성(Create new Configuration) 을 선택하여 NVIDIA Mosaic 구성(NVIDIA Mosaic set up) 창을 엽니다.
-
NVIDIA Mosaic 구성 창의 토폴로지 선택(Select topology) 탭에서 최대 GPU 토폴로지(Maximum GPU Topology) 를 선택합니다.
-
디스플레이 선택(Select displays) 탭에서 가지고 있는 모든 디스플레이의 해상도를 하나로 일치시키고 Mosaic에 대한 전반적인 새로 고침 속도를 설정합니다.
-
디스플레이 정렬(Arrange Displays) 탭에서 디스플레이의 위치를 일치시킨 다음 적용(Apply) 을 클릭합니다.
이 단계에 대한 자세한 내용은 NVIDIA Mosaic 기술 사용자 가이드를 참고하세요.
4단계 - NVIDIA 드라이버 유틸리티
NVIDIA의 드라이버 유틸리티 환경설정을 다운로드한 다음 Windows 명령 프롬프트를 통해 관리자 권한으로 실행하여 NVIDIA 드라이버에 특정 환경설정을 설정합니다.
실행 파일을 실행한 후 11 을 입력하고 Enter 키를 눌러 동기화를 희생하지 않고 prePresentWait 세팅을 활성화하고 퍼포먼스를 향상합니다.
8번 옵션인 다이렉트 X에 SwapGroupPresentIndicator 활성화(Enable the SwapGroupPresentIndicator for Direct x) 를 활성화하여 실행 파일이 정확한 모드로 실행되고 있는지 검증할 수 있습니다. 이렇게 하면 NVIDIA 동기화 정책으로 nDisplay를 실행할 때 표시되는 HUD가 왼쪽 하단 영역에 활성화되고 prePresentWait가 활성화됩니다. 또한, 스왑 그룹이 합류되어 보류 중이 아닌 경우에도 나타납니다.
5단계 - NVIDIA 동기화를 위해 환경설정된 nDisplay
nDisplay가 NVIDIA 동기화에서 동기화에 고정되려면 nDispaly는 전체 화면 전경 창 애플리케이션으로 실행되어야 합니다. 해상도가 데스크톱에 정확히 일치하는 경우 창 모드도 제대로 동작합니다. 이는 프레젠테이션 모드는 독립적 플립이어야 하기 때문입니다. 이것은 nDisplay 인스턴스가 실행될 때 인스턴스 앞에 어떠한 애플리케이션 창도 있을 수 없다는 것을 의미합니다.
NVIDIA 동기화를 위한 nDisplay 노드를 구성하려면 다음 단계를 따릅니다.
-
nDisplay 환경설정 에디터(nDisplay Config Editor) 에서 nDisplay 환경설정 에셋(nDisplay Configuration Asset) 을 엽니다.
-
클러스터(Cluster) 패널에서 클러스터 를 선택하여 디테일(Details) 패널을 엽니다.
-
동기화 정책 렌더링(Render Sync Policy) 아래 '디테일' 패널에서 타입(Type) 을 Nvidia (2) 로 설정합니다.
-
클러스터의 각 노드에 대해 전체 화면(Fullscreen) 을 활성화하거나 창(Window) 치수를 데스크톱의 최대 해상도로 설정합니다. 치수를 설정하는 방법을 알아보려면 창 해상도 예시를 참고하세요.
-
'NVIDIA 제어판'이 열려 있으면 닫습니다.
-
열려 있는 버추얼 데스크톱을 닫습니다. TeamViewer 및 Zoom과 같은 애플리케이션이 버추얼 데스크톱을 사용합니다.
-
에픽게임즈 런처의 데스크톱 알림과 같은 데스크톱 알림 및 팝업을 비활성화합니다.
-
Windows 데스크톱 해상도 스케일링을 100%로 설정합니다.
-
스위치보드(Switchboard)에서 ExeFlag 고정(Fix ExeFlag) 을 사용하여 각 노드마다 언리얼 엔진을 위한 전체 화면 최적화를 비활성화합니다. 언리얼 엔진 실행 파일(Unreal Engine executable) > 프로퍼티(Properties) > 호환성(Compatibility) > 전체 화면 최적화 비활성화(Disable Fullscreen Optimizations) 를 우클릭하여 이를 수행할 수도 있습니다.
-
동일한 PC에서 nDisplay를 스위치보드로 실행할 경우 스위치보드 세팅의 nDisplay 섹션에서 실행 전 최소화(Minimize Before Launch) 를 활성화합니다.
창 해상도 예시
노드의 창은 전체 데스크톱 해상도를 커버해야 하지만 뷰포트 는 LED 월에 필요한 해상도만 커버하면 됩니다. 이 예시는 노드의 창 해상도와 뷰포트의 해상도를 설정하는 방법을 보여줍니다.
LED 월의 스퀘어 2K 섹션은 사용되지 않은 공간은 검은색으로 남아 있게 되는 Ultra HD 데스크톱 해상도에서 렌더링됩니다.
-
창 해상도는 3840 x 2160으로 설정됩니다.
-
뷰포트 해상도는 2048 x 2048으로 설정됩니다.
'nDisplay 환경설정 에디터'에서는 다음과 같이 설정됩니다.
-
노드의 창(Window) 파라미터: X 는 0px, Y 는 0px, W 는 3840px, H 는 2160px로 설정됩니다.
-
뷰포트의 리전(Region) 파라미터: X 는 0px, Y 는 0px, W 는 2048px, H 는 2048px로 설정됩니다.
6단계 - EDID
EDID(Extended Display Identification Data)는 VESA(Video Electronics Standards Association)에서 정의한 디스플레이 디바이스의 표준 포맷입니다. EDID는 비디오 소스를 위한 디스플레이 디바이스에 대한 메타데이터를 가지고 있습니다.
'NVIDIA 제어판'에서 모든 구성을 마쳤으면 디스플레이 정보를 잠그고 디스플레이 신호가 유실되는 경우 다시 쿼리되지 않도록 현재 EDID를 익스포트한 다음 파일에서 로드하는 것이 좋습니다. 매트릭스 또는 스위처와 같은 외부 하드웨어 디바이스를 통해 EDID를 관리할 수도 있습니다. 이 단계에 대한 자세한 내용은 NVIDIA의 Windows에서 디스플레이 EDID 관리하기를 참고하세요.
부정확하게 환경설정된 EDID는 render sync policy 2를 사용하는 경우 nDisplay의 퍼포먼스를 반토막 낼 수 있습니다. 이를 방지하기 위한 두 가지 옵션이 있습니다.
-
EDID가 촬영하길 원하는 주파수로 PC 해상도를 선택할 수 있도록 하고 (native) 로 표시합니다.
-
3840 x 2160 60hz PC 표준 해상도를 기준으로 커스텀 해상도를 생성한 다음 적절한 주파수에 맞춰 설정합니다.
7단계 - 동기화 및 문제 해결 검증하기
nDisplay에서 성공적인 동기화를 이루었는지 검증하는 방법을 알아보려면 동기화 테스팅을 참고하세요.
스위치보드는 NVIDIA 드라이버와 nDisplay 노드의 동기화 상태를 보여주기 때문에 주의를 기울여야 합니다. 성공적인 동기화를 위해 스위치보드의 PresentMode 열은 각 노드가 Hardware Composed: Independent Flip 임을 나타내야 합니다. 노드가 Composed: Flip 을 보고한 경우 Windows 작업 바 또는 스위치보드 리스너를 비롯하여 노드의 nDisplay 앞에 아무 것도 없는지 확인합니다.
여전히 동기화가 성공적이지 않은 경우 nDisplay 클러스터 노드에서 GPU와 Quadro Sync 카드를 교체하거나 하드웨어에 문제가 있는지 살펴보는 것이 좋습니다.