Вывожу 1000 раз модель состоящую из 432 треугольника(D3D11_PRIMITIVE_TOPOLOGY_TRIANGLELIST) простым шейдером с помощю команд Draw и DrawInstancedIndirect. В случае 2х hd7970 и на hd6990 получаю 1000 фпс при выводе с помощью Draw и 200 фпс с помощью DrawInstancedIndirect. Как в оконном режиме так и на полный экран. Если в Catalist Control Center->Gaming->3D Application Setting добавить профиль моего приложения и в CrossFireX Mode поставить в значение Disable то фпс становиться 1000 как при вызове Draw так и для DrawInstancedIndirect. Все необходимые буферы создаются в начале и не меняются процессе выполнения теста.
Вопрос - почему при CrossFireX Mode Disable команда DrawInstancedIndirect работает правильно а при включении получаю падение с 1000 фпс до 200 фпс, не зависимо в окне или на полный экран?
Что неужели ни кто не юзает команду DrawInstancedIndirect(или аналоги с Inderect на конце) в directx11? Кто нибудь может сталкивался с чем то подобным?
asmzx
> Что неужели ни кто не юзает команду DrawInstancedIndirect(или аналоги с
> Inderect на конце) в directx11?
Расскажи, для чего использует indirect draw ?
2innuendo
В compute shader'e обновляется индерект буфер, а DrawInstancedIndirect отображает результат, но фпс получился сильно ниже ожидаемого + запросы D3D11_QUERY_TIMESTAMP_DISJOINT возращают большие и не стабильные значения. Это приводит к тому что расчетная загрузка ГПУ больше реальной (загрузку гпу можно мониторить с помощью MSI Afterburner, Gpu-Z и т.д.). Пришлось написать синтетический тест вывода простой геометрии с помощью 2х команд Draw и DrawInstancedIndirect. Геометрия низкополигнальна. Индерект буфер создается и заполняется один раз в начале, потом вывод с помощью одной из 2х выше названных команд. В итоге при выключении в драйверах режима CrossFireX все приходит в норму. В полноэкранном режиме я еще могу списать что включается режим Crossfire но в оконном режиме всегда работает 1 карта. Тот кто использовал индерект команды у себя в проекте наверняка должен был сталкиваться с подобной проблемой.
Тема в архиве.