2017-02-06 5 views
1

Я не смотрел DirectX с эпохи DX9. Можно ли создавать приложения DX11/12 без необходимости также делать их приложениями UWP?Возможно использование DirectX 11/12 без UWP?

Я немного обеспокоен накладными расходами UWP - для удовольствия я сделал пустое приложение, и я заметил, что он использует ~ 30 МБ, чтобы нарисовать пустое окно.

ответ

1

Я предполагаю, что «WUP» означает универсальную платформу Windows (UWP). Direct3D 11 поддерживается для настольных приложений Win32 classic в Windows 7, Windows Vista с пакетом обновления 2 (SP2), Windows 8.x и Windows 10. Direct3D 12 поддерживается для настольных приложений Win32 classic в Windows 10. Оба они также поддерживаются для UWP и Xbox One.

Догнать на современной истории для DirectX, вы должны увидеть: MSDN, Where is the DirectX SDK (2015 Edition)? и Getting Started with Direct3D 11, а также DirectX Tool Kit tutorials учебники

Есть три основных appmodels для UWP: XAML, XAML + DirectX и DirectX (т.е. нет XAML). Основное приложение DirectX для Direct3D 11 с только цепочкой подкачки и устройством имеет EXE около 100 Кбайт в качестве приложения x86 в режиме выпуска. Приложение DirectX + XAML «empty» составляет около 347 КБ.

ОБНОВЛЕНО: Основное приложение DirectX для Direct3D 11 в качестве режима выпуска для x86 имеет объем оперативной памяти около 6,1 МБ в полноэкранном режиме. Приложение DirectX + XAML 'empty' в режиме Release для x86 составляет 11,2 МБ. Это очень хорошо, так как целевая текстура рендера 1920 x 1080 BGRA32 составляет 8 МБ VRAM.

+0

Огонь! Типио это дважды! Да, я имел в виду Универсальную Платформу. 30 МБ - это объем памяти программы, созданной в Visual Studio 2015, которая имела только пустое окно, работающее в режиме деблокирования. – Maxthecat

+0

Даже если приложение пуста 30 МБ, почему это проблема? Это не похоже на то, что компьютеры теперь работают с ГБ ОЗУ. Скорее всего, вы потеряете память в своем коде пользователя, чем в служебных служебных целях. Кроме того, вы не много говорите о своем тестировании, будь то отладка, выпуск, статическая или динамическая связь, 32 или 64 бита и т. Д.! Время выполнения UWP не оптимизировано для пустого приложения, оно сделано для того, чтобы сделать реальное приложение, где 30MB ничего, и может также использоваться всеми живыми приложениями UWP. – galop1n

+0

Не все машины работают с тоннами ОЗУ. Вы не знаете мой прецедент. Прекратите снисходительность. – Maxthecat

Смежные вопросы