OpenGL производительность скелетной анимации - PullRequest
2 голосов
/ 14 ноября 2010

Я в некоторой ситуации.

Видите ли, при рендеринге моей модели с моей функцией renderMesh () игра была на скорости около 30 кадров в секунду.При рендеринге в список отображения и запуске этого, частота кадров в секунду достигала примерно 450 кадров в секунду.Это прирост 1500%.Я был очень рад этому, потому что это означало, что OpenGL не был причиной задержки, это была функция, и это можно оптимизировать.

Но теперь я хочу визуализировать скины с сеткой, поэтому я будунеобходимо обновить позиции вершин в кадре, но больше ничего.Так что запуск renderMesh () был бы пустой тратой времени, потому что ненужные накладные расходы по соединению всех граней и т. Д.Я хочу кешировать эти данные, но списки отображения не будут работать из-за изменчивых координат вершин.

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

Ответы [ 2 ]

5 голосов
/ 14 ноября 2010

Я могу только предложить:

  1. Использование меньшего количества вершин
  2. Перемещение ваших вершин (или большинства из них) в жесткие группы --- таким образом, каждая группа может быть списком
  3. Объекты буфера вершин
3 голосов
/ 14 ноября 2010

Вы можете использовать VBOs и получить улучшение.Должны быть такими же или лучше, чем списки.1500% улучшение странно.Вы уверены, что измеряете FPS правильно?

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