关于 glFinish

BitDreamer 2016-02-15 07:04:49
Andreno 418平台,
每帧渲染的内容完全一样,
提交所有的draw call后,调用 glFinish
但每帧glFinish耗时非常不稳定,快的时候耗时 3~4 ms,慢的时候耗时 20多ms 。
有什么办法让耗时固定在一个比较低的值呢?
...全文
1948 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
BitDreamer 2016-02-22
  • 打赏
  • 举报
回复
谢谢回复。 测试的结果是glFinish耗时确实跟buffer count相关。 每一帧只做简单的 clear color 操作。 同时,能停的后台程序都停了。 也关闭了 使用GPU进行屏幕合成 选项。 结果glFinish耗时还是不稳定。 没有gl源代码,有些事情确实搞不懂。 请问贵公司有这方面 (在渲染任务不是很重的情况下,GPU渲染耗时能稳定在一个较低的数值) 的解决方案么?
崔传凯 2016-02-19
  • 打赏
  • 举报
回复
如果你的绘制在vsync内能够完成的话增大buffer数没有用处。 在android平台上,GPU还用来进行2D UI硬件加速,以及做Layer合成。
BitDreamer 2016-02-16
  • 打赏
  • 举报
回复
不好意思,是 Adreno Profiler 功能有些简单
BitDreamer 2016-02-16
  • 打赏
  • 举报
回复
谢谢回复。 其实每次的draw call是一模一样的。 在Android平台下,glFinish耗时跟surfaceFlinger的 buffer count相关性很大,某些情况下,3 buffer可能不够用,加大surface Flinger的buffer count后,效果会有改善。 但还没有有完全解决这个问题,有时候还会耗时很长。 猜测是因为系统的其他模块占用gpu了,已经把egl context优先级设置为最高了,问题依然存在。 请问高通有更专业一些的 gpu 分析工具么? Android Profiler功能还是有些简单。 请问版主有其他建议么?
qiudeluo77 2016-02-16
  • 打赏
  • 举报
回复
跟调用draw call的多少有关

2,852

社区成员

发帖
与我相关
我的任务
社区描述
本论坛以AI、WoS 、XR、IoT、Auto、生成式AI等核心板块组成,为开发者提供便捷及高效的学习和交流平台。 高通开发者专区主页:https://qualcomm.csdn.net/
人工智能物联网机器学习 技术论坛(原bbs) 北京·东城区
社区管理员
  • csdnsqst0050
  • chipseeker
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧