环境:Mali 400 MP
应用场景:渲染2d rgb,yuv 图形/视频
测试linux下 基于 opengles 1024x768 1366x768 1920x1080 分辨率直接上RGB/yuv 2d纹理数据填充, fps 30~60之间徘徊,(补充1080p下帧率20);
部分资料提及如下:
TexSubImage2D cpu->gpu上载慢 ===>EGLImage
glDrawArrays ===>glDrawElements vbo
刚好今天看到《Foveated Rendering的可能技术实现》--Frank Li
讨论目的:
1.Mali 400 2d渲染性能优化方案
2.调整Mali 400工作频率 性能提升可行性
3.Mali400 Mp 单核 /4核 性能差异比对
我的理解就是说glTexSubImage2D比较慢,能否问下pixels是怎么生成的?还有使用的ARM CPU支不支持NEON?
fread读取1024x768 rgba视频一帧;CPU 支持neon;
这样的话就看不到太大的优化空间了,因为CPU与GPU之间的交互始终存在。
试试能不能用glCopyTexSubImage2D直接读取rgba视频到texture。
glCopyTexSubImage2D到没尝试,我这边使用elg eglCreateImageKHR等接口 已经完成了填充(速度的确有提升),但是在始终glDrawElements这块耗时到了10~15ms;
相对这样的应用场景 感觉rgba to framebuffer可能更快些吧;
社区里面直接给你发消息咋玩的?
如果能用glCopyTexSubImage就可以省去先保存到CPU的步骤,应该可以提升性能。
glDraw花时较长比较费解,除非有大量的vertex/index数据需要处理。
互相关注先