Буферизация или удержание кадров в OpenGLES - PullRequest
0 голосов
/ 28 мая 2018

Я пытаюсь буферизовать до 10 кадров в GLES на Android.Входящие кадры поступают с камеры на surfacetexture, и я обрабатываю изображение с помощью OpenGles.Я пытаюсь сделать это, потому что я применяю несколько фильтров gles, заставляя GPU задыхаться, и поэтому я теряю частоту кадров.(Камера с частотой 30 кадров в секунду дает 25 кадров).Я думаю, что если мне удастся удержать несколько кадров и реализовать циклический буфер, я смогу задержать кадры на фиксированную величину (добавить задержку), но при этом обеспечить постоянную частоту кадров (пропускную способность).

Есть идеи, как это можно сделать?

1 Ответ

0 голосов
/ 28 мая 2018

Вы, вероятно, не можете - у вас нет прямого контроля над управлением поверхностью окна в OpenGL ES на Android - вы получите столько буферов в цепочке подкачки, сколько настроено системой (обычно три).

Маловероятно, что добавление более трех действительно поможет улучшить согласованность частоты кадров, поскольку вы все равно привязаны к отображению ограничений vsync.

...