2017-02-06 25 views
1

저는 DX9 시대 이후로 DirectX를 보지 않았습니다. UWP 응용 프로그램을 만들 필요없이 DX11/12 응용 프로그램을 만들 수 있습니까?UWP가없는 DirectX 11/12가 가능합니까?

저는 UWP의 오버 헤드에 대해 약간의 걱정이 있습니다. 재미로 빈 응용 프로그램을 만들었고 공백의 윈도우를 그릴 때 ~ 30MB를 사용한다는 것을 눈치 챘습니다.

답변

1

"WUP"는 Universal Windows Platform (UWP)을 의미하는 것으로 추측합니다. Direct3D 11은 Windows 7, Windows Vista SP2, Windows 8.x 및 Windows 10에서 Win32 클래식 데스크톱 응용 프로그램을 지원합니다. Direct3D 12는 Windows 10에서 Win32 클래식 데스크톱 응용 프로그램을 지원합니다. 둘 다 UWP 및 Xbox One에서도 지원됩니다.

다이렉트에 대한 현대적인 이야기를 잡기 위해, 당신은 볼 수 : MSDN, Where is the DirectX SDK (2015 Edition)?Getting Started with Direct3D 11뿐만 아니라 DirectX Tool Kit tutorials 자습서를 UWP위한 세 가지 기본 appmodels 있습니다

: XAML은 XAML + DirectX 및 DirectX (즉, XAML 없음). 스왑 체인 및 장치가있는 Direct3D 11의 기본 DirectX 응용 프로그램은 릴리스 모드에서 x86 응용 프로그램으로 EXE가 약 100KB입니다. DirectX + XAML 'empty'앱은 약 347KB입니다.

업데이트 됨 : x86 용 릴리스 모드로 Direct3D 11의 기본 DirectX 응용 프로그램에는 전체 화면 모드에서 약 6.1MB의 RAM 풋 프린트가 있습니다. x86 용 릴리스 모드의 DirectX + XAML 'empty'응용 프로그램은 11.2MB입니다. 1920 x 1080 BGRA32 렌더링 타겟 텍스처가 8MB VRAM이기 때문에 꽤 좋습니다.

+0

웁스! 2 번 잘못 입력 했어! 네, 유니버설 플랫폼을 의미했습니다. 30MB는 비어있는 창만있는 Visual Studio 2015에서 만든 프로그램의 메모리 풋 프린트로 릴리스 모드에서 실행됩니다. – Maxthecat

+0

앱이 30MB 비어 있더라도 왜 문제가됩니까? GB의 RAM으로 실행되는 컴퓨터와는 다릅니다. 사용자 오버 헤드는 서비스 오버 헤드보다 사용자 코드에서 메모리를 낭비 할 가능성이 더 큽니다. 또한 테스트에서 많이 언급하지 않았고, 디버그, 릴리즈, 정적 또는 동적 링키지, 32 또는 64 비트 등 이었습니까? UWP 런타임은 빈 응용 프로그램에 최적화되어 있지 않으며 30MB가없는 실제 응용 프로그램을 만들도록 만들어졌으며 모든 활성 UWP 응용 프로그램간에 공유 될 수도 있습니다. – galop1n

+0

모든 기계가 대량의 RAM으로 실행되는 것은 아닙니다. 내 유스 케이스를 모른다. 혼란스럽지 마라. – Maxthecat