Должны ли списки отображения быть интенсивными процессорами? - PullRequest
2 голосов
/ 28 июня 2010

Мое приложение рендерит около 100 списков отображения в секунду.Хотя я ожидаю, что это будет интенсивно для GPU, я не понимаю, почему это повышает производительность моего процессора до 80 - 90%.Разве не отображаются списки, хранящиеся на видеокарте, а не в системной памяти?Что мне нужно сделать, чтобы уменьшить использование этого сумасшедшего процессора?Мои объекты никогда не меняются, поэтому я использую DL вместо VBO.Но на самом деле моей главной заботой является использование процессора и как я могу уменьшить его.Я отрисовываю ~ 60 (или пытаюсь) кадров в секунду.

Спасибо

Ответы [ 3 ]

1 голос
/ 28 июня 2010

Если вы имеете в виду эти , то я подозреваю, что узкое место будет связано с процессором. Все декодирование таких файлов осуществляется на процессоре. Несомненно, каждая отдельная команда может привести к нескольким командам для вашей видеокарты, которые будут выполняться быстро, но ЦП застревает при выполнении задачи декодирования.

0 голосов
/ 28 июня 2010

Хотя списки отображения скомпилированы на графическом процессоре, это не означает, что для процессора не требуется никакой работы (если не непосредственно в вашем коде, то, возможно, в драйвере), чтобы фактически указать список отображения для вызова на графическом процессоре.

Если вы хотите узнать, на что тратится время процессора, возьмите профилировщик и запустите тест выборки графа вызовов.Вы сразу узнаете, где тратится время процессора.

0 голосов
/ 28 июня 2010

Возможно, у вас отключен VSYNC. В этом случае ваш процессор будет генерировать столько кадров, сколько возможно. Конечно, большинство из них будут потрачены впустую, потому что ваш монитор не может обновляться 100 раз в секунду.

Включите VSYNC и снова проверьте загрузку процессора (и частоту кадров).

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