Цепочка обмена DirectX 11 с 7 обратными буферами

У меня есть проприетарный медиаплеер, который работает на Windows 8 в режиме рабочего стола. Версия DirectX во время выполнения — 11, но собственный графический драйвер поддерживает DirectX 9.
На некоторых компьютерах с точно такой же настройкой я вижу, что фактическое количество обратных буферов цепочки подкачки равно 2, и производительность отличная, а на некоторых других количество обратных буферов равно 7 и есть пропущенные кадры.
У меня нет исходного кода этого плеера, и мне интересно, что может быть причиной определения другого числа счетчиков заднего буфера во время выполнения.
Может кто-нибудь объяснить, почему такое количество бэкбуферов приводит к такому изменению производительности? Или просто укажите мне соответствующую документацию, которая объясняет последствия количества обратных буферов?

(Дополнительная информация об отладке: с помощью GPUView я вижу, что когда количество бэкбуферов равно 2, аппаратное обеспечение работает в синхронизированном режиме, т. е. один пакет в очереди HW в каждую секунду VSync (частота кадров клипа составляет 30 кадров в секунду), когда для 7 бэкбуферов работа делается на 5-7 кадров вместе, потом какие-то пустые VSync, потом опять 5-7 кадров и так далее).

Заранее спасибо!

5
задан iedoc 29 April 2014 в 03:43
поделиться