Performance variation of encoder using MediaCodec encode from surface

偶尔善良 提交于 2019-12-21 05:57:23

问题


I render a texture to both display and a codec input surface (from where an encoder uses it). There is a large performance variation when the texture is rendered to the display surface, and when it is rendered to the input surface of the encoder, but only on some devices, like S3 Galaxy (~10 times slower to render to encoder surface). On other devices, the speed is similar (S4, Nexus4, etc).

A similar scenario can be demonstrated with Grafika and Record GL app activity. (FBO blit x2) The fps drops from ~60 to 6 only for the mentioned device, while for the other devices there is a constant rate of 60 for both recording+display and displaying alone. To be really similar, recording+display can be reduced to just recording, keeping the same performance.

Is there any good reason for this performance drop while using the encoder surface? Is it a bug in Mali400 or S3 drivers?

来源:https://stackoverflow.com/questions/26775924/performance-variation-of-encoder-using-mediacodec-encode-from-surface

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!