Я записал задержку камеры следующим образом:
Код: Выделить всё
Directly rendering with SurfaceTexture: ~80ms
In OpenGL, which introduces OES-to-FBO drawing: ~90ms
Unity rendering at 60fps (which is way faster than the camera recording fps): 100-150ms
Теоретически процесс рендеринга должен быть:
Код: Выделить всё
CameraHAL -> OES texture -> TextureView
CameraHAL -> OES texture -> draw to FBO ( GLView
CameraHAL -> OES texture -> draw to FBO ( Unity renders the last texture
Итак, задержка должна исходить только от этих процессов:
Код: Выделить всё
Thread switch (from camera thread to drawingHandler thread)
OES to FBO conversion
Unity drawing frequency, which should be 16.67ms
Как заставить Unity перерисовываться после завершения собственного кадра?
Подробнее здесь: https://stackoverflow.com/questions/781 ... hole-scene
Мобильная версия