Уровень вызовов GLSurfaceView.Renderer :: onDrawFrame () слишком низкий - PullRequest
2 голосов
/ 02 января 2011

Я только что заметил странную вещь - похоже, мой GlSurfaceView.Renderer :: onDrawFrame () вызывается действительно редко. По крайней мере, я ожидаю, что это будет по-другому:

Режим рендеринга текущего рендерера установлен в RENDER_CONTINUOUSLY (фактически, я не изменял значение по умолчанию). Вставляя некоторый код измерения времени, я наблюдаю следующее:

GLSurfaceView.Renderer :: onDrawFrame () вызывается 100 раз за 15 секунд. И эти 100 кадров на самом деле занимают всего 0,13 секунды.

Интересно, откуда взялась эта медлительность и где тратится это время 15-15 с? Я ожидал бы, что GLSurfaceView будет вызывать мой onDrawFrame как сумасшедший, но похоже, что нет:)

Я делаю что-то не так или просто не знаю что-то? Только начинаю изучать OpenGL ES ...

1 Ответ

7 голосов
/ 02 января 2011

Сроки onDrawFrame () не является надежным способом измерения производительности. Когда onDrawFrame () завершается, это не означает, что рендеринг завершен ... это означает лишь, что вы закончили отправку команд в GL. Реальный рендеринг может занять гораздо больше времени, и это, вероятно, то, что вы видите.

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