Как быстро DirectX12 может рисовать вершины? - PullRequest
0 голосов
/ 27 февраля 2020

Я студент, и я абсолютно новичок в DirectX, и почти новичок в 3D-графике - месяц go Я работал с тремя. js. Но я очень усердно работал с WinApi и чистым GDI, поэтому, возможно, у меня есть кое-какие знания.

В настоящее время для своей дипломной работы я хочу смоделировать некоторый физический процесс эритроцитов. Я рассчитал, что буду работать с более чем 600 000 клеток крови, предполагая, что они кубы (хотя они не являются), у меня есть 600 000 * 8 = 4 800 000 вершин. Сколько времени потратит любой мощный компьютер, использующий DirectX 12, чтобы нарисовать эту сцену для буферизации в памяти? Это реально? Под прорисовкой я подразумеваю просто визуализацию одного кадра в буфер (даже на экран)

Я знаю, возможно, вопрос неверный, но я пытаюсь понять, должен ли я использовать DirectX для этих целей (я не хочу использовать OpenGL)

1 Ответ

1 голос
/ 28 февраля 2020

DirectX 12 может рисовать вершины с той же скоростью, что и DirectX 11: они оба используют одни и те же драйверы и оборудование (при условии, что мы говорим об аппаратном уровне Direct3D Feature Feature 11 или более высоком оборудовании, которое на самом деле имеет DirectX 12 поддержка драйверов).

Оба API управляют одним и тем же оборудованием, но разница в том, как программное обеспечение управляет этим. В DirectX 11 среда выполнения заботится о многих деталях от имени приложения, но с DirectX 12 приложение должно делать почти все это явно. Результатом является больший контроль (и больше потенциальных ошибок приложения) над поведением. Это означает, что общая загрузка ЦП при рисовании может быть снижена в DirectX 12 по сравнению с DirectX 11.

В итоге производительность необработанной графики сводится к самому оборудованию графического процессора.

См. Набор инструментов DirectX

...