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