다음을 통해 공유


창 표시 모드 및 타이틀 호출 가능 UI 대화 상자

이 항목에서는 PC에서 창 디스플레이 모드를 처리하는 데 필요하고 타이틀 호출 가능 UI(TCUI) 대화 상자가 표시되는 특별한 고려 사항에 대해 설명합니다.

게임에서 TCUI를 표시할 수 있는 API를 호출하기 전에 게임 창이 표시되는지 확인하는 것이 좋습니다. 또한 게임 창에서 전체 화면 전용 모드 대신 전체 화면 창/여백 없음 또는 창/최대화 안 함 모드를 사용하는 것이 좋습니다.

게임이 사용자 지정 앱/게임 해상도가 아니라 기본 디스플레이 해상도로 실행되어야 합니다. 몇 가지 기술(예: DirectX 9)은 TCUI 대화가 표시되었을 때 해상도 변화를 원활하게 처리하지 못합니다.

그러나 전경 포커스가 표시되는 TCUI 대화 상자로 손실되면 일부 미들웨어 엔진과 래퍼 및 DirectX 9은 자동으로 전체 화면 게임 창을 최소화합니다. 사용자가 원하지 않는 동작을 해결하기 위해 TCUI 대화 상자가 표시될 때 창 최소화가 명시적으로 거부됩니다. 자세한 내용은 이 항목의 뒷부분에 나오는 게임 창 최소화 섹션을 참조하세요.

DirectX가 아닌 그래픽 기술을 사용하는 게임 타이틀의 경우, 권장되는 모범 사례는 경우에 따라 다릅니다.

게임 타이틀에서 OpenGL 또는 Vulkan을 사용하는 경우, TCUI 대화 상자에서 게임에 대해 렌더링할 수 있도록 허용하려면 바탕 화면 소유 창 테두리가 표시된 “창” 모드가 필요합니다. 이는 비디오 카드 드라이버 구현에 기반하여 모든 종류의 전체 화면 모드에서 실행되는 게임이 바탕 화면 창 관리자 개입 없이 렌더링될 가능성이 있기 때문입니다. 이렇게 하면 TCUI 대화 상자가 게임 창 위에 표시되지 않습니다.

다른 그래픽 기술의 경우 Xbox 지원 담당자에게 문의하세요.

게임 창 최소화 방지

포그라운 포커스가 TCUI 대화 상자에 없는 경우, 일부 미들웨어 엔진과 계층화 시스템(예: Unity 및 SDL(Simple DirectMedia Layer))에서는 전체 화면 창을 자동으로 최소화합니다.

이 문제를 방지하기 위해, Gaming Runtime은 CBTProc를 사용하여 게임 창에 대한 최소화 요청을 거부합니다. Gaming Runtime은 오버레이에서 전체 화면 DirectX 게임 창에 대해 렌더링할 수 있음을 감지하는 경우에만 이 패턴을 적용합니다.

또한, Gaming Runtime에서는 게임 창에서 테두리나 타이틀 표시줄이 렌더링되지 않도록 TCUI 대화 상자를 표시하기 전에 스타일 변경 창 메시지를 차단하고 수정합니다. WS_OVERLAPPEDWINDOW 그룹의 스타일이 기존 스타일에 없었던 경우, 해당 스타일은 스타일 변경 내용에 적용되지 않습니다. 이 수정 사항은 TCUI 대화 상자의 수명 동안에만 구현됩니다.

TCUI 대화 상자에 대한 DirectX 9 고려 사항

게임 창 최소화 방지(이 항목의 앞부분)에 설명된 대로 DirectX 9 게임이 최소화되지 않는 경우에도, TCUI 대화 상자가 표시되면 계속 포그라운드 포커스를 잃게 됩니다. 전체 화면을 실행하는 동안 게임 창을 최소화하는 사용자에게 응답하는 것과 동일한 방법으로 이 포커스 손실을 원활하게 처리할 수 있도록 게임을 준비해야 합니다.

TCUI 대화를 통한 Unity 고려

TCUI 대화를 표시할 것으로 예상하는 모든 게임은 "Application.runInBackground"를 참으로 설정하는 것이 좋습니다.