当前位置: 首页 > backend >正文

Android trace presentFence屏幕显示的帧

Android trace presentFence屏幕显示的帧

presentFence :当帧成功显示到屏幕时,present fence就会signal。

FrameMissed/GpuFrameMissed/HwcFrameMissed表示上一次合成的结果,当SurfaceFlinger合成后显示到屏幕上,present fence就会signal。因此可将present fence signal作为一次合成完结标志。SurfaceFlinger每次开始被Vsync-sf唤醒时,会先检查上一次合成情况,方式就是检查上一次合成的present fence有没有signal。如果没有,则认为是FrameMissed,并结合上一次合成方式是否有GPU或者HWC参与,同步GpuFrameMissed/HwcFrameMissed信息。

BufferTx :DrawFrame里queueBuffer以后BufferTx会增加,SF起来响应拿走Buffer合成时会减少; BufferTx内有可用Buffer,SF才会真正去合成。

present fence没有及时signal可能原因是GPU负载过高会导致底层大部分时间都在等GPU渲染工作完成,延迟了present fence的signal,导致FrameMissed。

dequeueBuffer时间长一般就是没有可用的buffer,SurfaceFlinger消费能力有问题,需要去看SurfaceFlinger。

trace中GPU Completion的每个waiting for GPU completion ×××长度,大致可以作为GPU渲染所花费的时间(即acquire fence释放的总时间)。通过这个时间,可以判断是否有GPU bound的现象。

相对应的,waiting for HWC release ×××的长度大致可以作为release fence的释放总时间参考。在release fence signal之前,GPU是无法对dequeueBuffer拿到的Buffer进行读写的(因为此时Buffer还是归HWC所有)。通过这点,可以判断Display是否有问题。

Android trace中CPU的RenderThread与GPU-CSDN博客文章浏览阅读952次,点赞15次,收藏25次。在Android系统中,RenderThread是负责GPU渲染的关键线程,它通过dequeueBuffer和queueBuffer机制与GPU进行交互,执行图形图像的密集渲染任务。RenderThread的存在解耦了Android的UI主线程与GPU渲染,避免了UI线程的阻塞,同时充分利用了GPU的并行计算能力,减少了栅格化的耗时。在硬件加速开启的情况下,RenderThread与GPURenderThread协同工作,通过SurfaceFlinger进行图像合成和显示。如果应用关闭硬件加速,则只有UIT_renderthread https://blog.csdn.net/zhangphil/article/details/148003427

http://www.xdnf.cn/news/7628.html

相关文章:

  • sgRNA的靶基因基因组如何获得? for 下游的 T7E1验证
  • 不同的二叉搜索树 II:动态规划与递归构造
  • JavaScript作用域和作用域链
  • web开发全过程总结
  • 创建一个使用 GPT-4o 和 SERP 数据的 RAG 聊天机器人
  • deepseek梳理java高级开发工程师es面试题
  • 1.3 C++之变量与数据类型
  • Vue百日学习计划Day43-45天详细计划-Gemini版
  • Jenkins+Docker+Harbor快速部署Spring Boot项目详解
  • sv数据格式转换
  • 【氮化镓】低剂量率对GaN HEMT栅极漏电的影响
  • 2025年第十一届传感器、机电一体化和自动化系统国际学术研讨会(ISSMAS 2025)
  • 景区卡机数据报表-跨服务查看数据教程——诸天万界相连—仙盟创梦IDE
  • docker容器知识
  • 宿州金博学校开展防震演练:夯实安全根基,守护校园平安
  • java redis set 集合操作中 如何有效移除自定义对象
  • 深信服golang面经
  • 【Python 算法零基础 4.排序 ③ 插入排序】
  • 零基础入门Selenium自动化测试:自动登录edu邮箱
  • waitress 简介
  • Dify实战案例《AI面试官》更新,支持语音交互+智能知识库+随机题库+敏感词过滤等...
  • 5月20日day31打卡
  • 自定义geojson生成物体的样式
  • Pichome 开源网盘程序index.php 文件读取漏洞(CVE-2025-1743)
  • 完善网络安全等级保护,企业需注意:
  • (2)JVM 内存模型更新与 G1 垃圾收集器优化
  • SymPy|主元、重新表示、分数、约分表达式、极限、级数、ode、获取值、输出形式
  • BRIGHTONE : 520-On-Chain WOHOO Carnival
  • 学习日记-day11-5.20
  • 【强化学习】深度强化学习 - Deep Q-Network(DQN)算法