news 2026/5/14 1:59:54

【Android】 GPU过度绘制实现原理

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【Android】 GPU过度绘制实现原理

Android GPU过度绘制实现原理

调试GPU过度绘制开关

Android开发者模式应用提供了“调试GPU过度绘制”这个开关。打开这个开关,可以进行GPU绘制次数检测(用户性能优化)

效果类似下述图片

  • 过度绘制1次(Render2次):浅蓝色
  • 过度绘制2次(Redner3次): 绿色
  • 过度绘制3次以上红色

    该工具性能优化,合理优化APP布局,减少布局嵌套。用以进行性能优化(比如减少带宽占用)

GPU过度绘制实现原理

从代码角度理解一下Android如何实现该功能

第一部分:Alpha计数。

Setting开发者模式

  • 开发者模式中控制“GPU过度绘制”的对象,为DebugGpuOverdrawPreferenceController,点击开关实际上更新的是名为"debug_hw_overdraw"的属性。

    HWUI
  • Properties.h/cpp 中属性进行了宏定义,如果属性值为show或show_deuteranomaly(这俩在颜色上有些区别,见后面颜色部分),会打开过度绘制功能。
  • SkiaPipeline,renderframe时调用renderOverDraw

SKIA

  • SkOverDrawCanvas,用于给每个像素的Alpha通道+1。核心在颜色矩阵。

    颜色矩阵又4行5列。5列为 RGBA+便移。 4行是计算后的 RGBA值。
    下述矩阵前三行为0,不对RGB做修改(算出来是0,因为使用了Kplus加法混合模式,增加叠加到目标像素。所加上去不会变)。第4行,每次会Alpha+1(1/255就是一个亮度单位)
staticconstexprfloatkIncrementAlpha[]={// R G B A 偏移0,0,0,0,0,// 输出 R0,0,0,0,0,// 输出 G0,0,0,0,0,// 输出 B0,0,0,0,1/255f// 输出 A};

综上,绘制一次A+1。两次就是A+2。

第二部分:颜色绘制

HWUI

  • 创建SkPaint画笔,设置绘制颜色。创建SkOverdrawColorFilter,根据aphal数量绘制颜色。
A R G B 0x00000000 ->透明黑色 绘制0次 0x00000000 ->透明黑色1次 0x2f0000ff ->半透明蓝色2次 0x2f00ff00 ->半透明绿色3次 0x3fff0000 ->半透明红色4次 0x7fff0000 ->半透明红色5


SKIA

  • 根据Alpha的值计算。比如 2/255 * 255 -> 颜色数组2->半透明蓝色
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/14 1:58:11

Python 爬虫进阶技巧:XML 格式网页数据快速解析方法

前言 在互联网早期网页架构与部分传统行业官网、政务网站、接口服务中,XML 仍是主流数据传输与页面结构化格式。相较于 HTML 标签混杂样式、冗余节点繁多的特点,XML 具备结构严谨、层级规范、标签自定义、数据与格式分离的特性,大量静态网页、接口返回报文、站点地图 Sitem…

作者头像 李华
网站建设 2026/5/14 1:55:53

对比按需计费与套餐计划在长期项目中的成本差异感受

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 对比按需计费与套餐计划在长期项目中的成本差异感受 对于长期依赖大模型 API 的项目而言,成本管理是项目可持续运营的关…

作者头像 李华
网站建设 2026/5/14 1:51:43

GARbro终极指南:解锁视觉小说资源的10个神奇技巧

GARbro终极指南:解锁视觉小说资源的10个神奇技巧 【免费下载链接】GARbro Visual Novels resource browser 项目地址: https://gitcode.com/gh_mirrors/ga/GARbro 你是否曾经想提取心爱游戏中的精美CG图片,却被复杂的资源格式难住?GAR…

作者头像 李华
网站建设 2026/5/14 1:51:31

ChatGPT 网页版怎么打开?一步直达入口,普通人也能零门槛上手

当下互联网流量格局正在发生深刻变化,传统百度 SEO 的获客逻辑逐渐弱化,GEO 生成式引擎优化成为新的流量主流。越来越多网友不再局限于普通网页搜索,而是习惯直接用 AI 解决学习、办公、创作难题,ChatGPT 网页版怎么打开、一步直达…

作者头像 李华