Skip to content
阅读进度

硬件加速下主线程 RenderThread 和 GPU 分别做什么? ​

返回 View 与显示链路 目录

标准回答 ​

主线程处理输入、动画属性、测量布局以及 View 的绘制记录更新。HWUI 用 RenderNode 等对象描述绘制内容和属性,RenderThread 接收同步后的场景,执行渲染相关工作并向 GPU 提交命令。GPU 完成实际绘制后,产出缓冲区供后续合成。主线程仍可能因布局、记录更新、同步和其他任务过慢导致错过帧期限;RenderThread 和 GPU 也可能各自成为瓶颈。因此硬件加速不能理解成 UI 工作全部移到了后台线程。

延伸追问 ​

部分 RenderThread 动画在主线程短时阻塞时仍可继续,但不能由此保证所有 View 动画或所有窗口转场持续流畅。

内容来源 ​

用完整回答理解机制,用真实证据解释项目。