DirectX 10 видео режим переключения и производительность - PullRequest
4 голосов
/ 05 февраля 2009

В приложении DirectX 10 вызывает ли переключение между полноэкранным и оконным режимами какие-либо издержки, такие как необходимость воссоздания текстур и / или буферов вершин?

Другими словами, могу ли я создать приложение, предназначенное для "большого" переключения между оконным режимом и полноэкранным режимом без потери производительности при переключении?

Ответы [ 2 ]

6 голосов
/ 06 февраля 2009

В DirectX10 есть DXGI. Вы используете цепочку обмена. Размер буфера в цепочке подкачки нужно будет изменить, так что есть некоторые издержки (конечно), но якобы он оптимизирован. Я бы беспокоился о том, чтобы вызывать эпилептические припадки у ваших пользователей, переключая режимы просмотра.

http://msdn.microsoft.com/en-us/library/bb205075(VS.85).aspx

2 голосов
/ 16 июля 2009

В D3D10 вам не нужно воссоздавать свои текстуры, буферы или любые ресурсы D3D при переключении режимов. Одно примечательное исключение - ссылки на буферный буфер swapchain должны обновляться после вызова ResizeBuffers (что должно быть сделано для оптимальной полноэкранной работы), но это не так уж важно для производительности.

Тем не менее, это не значит, что смена режима обходится дешево. Сама операция смены режима очень дорога как для вашего приложения, так и для остальной системы (в частности, в Vista необходимо перезапустить DWM). Win7 значительно улучшился, поэтому я советую вам поиграть с ним и посмотреть, соответствует ли он вашим требованиям к производительности, но не ожидайте мгновенного перехода.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...