我有一个示例应用程序(完整源代码),它使用MediaCodec对相机帧进行编码,并在GLSurfaceView上显示。
Systrace确认每秒进行30个绘制调用:
Systrace确认每秒进行30个绘制调用:
- 使MediaCodec Surface输入EGL上下文成为当前
- 将相机帧绘制到MediaCodec EGL表面上
- 使GLSurfaceView EGL上下文成为当前
- 将相同的相机帧绘制到GLSurfaceView上
screenrecord
命令会增加相当大的开销 -- surfaceflinger 需要使用 GLES 为虚拟显示合成所有层 -- 这可能会对帧率产生不利影响。在screenrecord
运行时查看 systrace。 - fadden