GPU性能优化,One Step!

简介:


Overdraw

该模块可以帮助用户直接查看项目运行时每帧都渲染的像素数量,从而反映出设备GPU端所承受的压力。我们可以看到下面的图片中有地方是黑色,有地方是红色。颜色越红,表示该处像素在当前帧中被填充的次数较多,进而GPU的压力也就越大。移动VR开发者需要特别关注这部分的情况。
0.png

下图是性能检测报告中的GPU模块页面,我们提供四个参数供开发者进行参考:
请输入图片描述

总填充数峰值

项目运行过程中,单帧填充像素的数量峰值。

总填充数均值

项目运行过程中,平均每帧的填充像素数量。
上述两个参数中,单位为M,表示的是百万,即10.4M表示总填充像素数量为一千零四十万。

填充倍数峰值

项目运行过程中,单帧中整个屏幕被填充的倍数峰值;倍数越高,则GPU的压力越大。

填充倍数均值

项目运行过程中,平均每帧的填充的倍数均值;倍数越高,则GPU的压力越大。

在这里,用户可以对图表进行交互操作。我们提供了两类截图,一类是原始截图,一类则是Overdraw截图。
请输入图片描述
通过该模块,研发团队可以:

  1. 对GPU压力有更加深入的认识,对Overdraw较高的不合理操作及时进行优化;
  2. 更直观地看到粒子系统、UI的制作是否存在问题。

◆◆
Mipmap

用户可以直接查看项目运行时,每帧纹理在渲染时所用的Mipmap层级,从而来进一步查看其纹理的尺寸使用是否合理。
请输入图片描述

如上图,在该页面中,我们通过不同颜色来表示纹理所用的层级。
紫色(4x):表示此处所用纹理的长和宽均被拉伸了4倍,在这种情况下很有可能造成纹理模糊。

蓝色(2x):表示此处所用纹理的长和宽均被拉伸了2倍,在这种情况下也有可能造成纹理模糊。

黑色:表示此处所用的纹理刚好合适,页面中黑色区域越大越好。

橙色(1/2):表示此处所用纹理为原始纹理的Mipmap第1层,即所用的真实纹理其长宽均为原始纹理的0.5倍。

绿色(1/4):表示此处所用纹理为原始纹理的Mipmap第2层,即所用的真实纹理其长宽均为原始纹理的0.25倍。

红色(1/8):表示此处所用纹理为原始纹理的Mipmap第3层,即所用的真实纹理其长宽均为原始纹理的0.125倍。

如果研发团队经常发现某些物体的颜色为橙色、绿色或红色,则建议研发团队尝试降低原始纹理的分辨率,这样既不会造成视觉效果的损失,又可以降低其内存占用和包体大小。

目前该GPU模块仅支持Android设备。当然,这只是UWA开启GPU优化的第一步,后续还会不断完善我们的功能,实现对iOS、PC和其他平台的支持,并通过更多的项目性能分析从而对参数进行学习归纳总结,力争为大家提供行业性的参考标准。

Footstep.png


走一步,再走一步!





原文出处:侑虎科技
本文作者:admin
转载请与作者联系,同时请务必标明文章原始出处和原文链接及本声明。

相关实践学习
部署Stable Diffusion玩转AI绘画(GPU云服务器)
本实验通过在ECS上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。
目录
相关文章
|
25天前
|
机器学习/深度学习 并行计算 算法
GPU加速与代码性能优化:挖掘计算潜力的深度探索
【10月更文挑战第20天】GPU加速与代码性能优化:挖掘计算潜力的深度探索
|
6月前
|
机器学习/深度学习 并行计算 算法
掌握XGBoost:GPU 加速与性能优化
掌握XGBoost:GPU 加速与性能优化
1065 0
|
异构计算
案例分享:Qt流水线图像显示控件(列刷新、1ms一次、缩放、拽拖、拽拖预览、性能优化、支持OpenGL GPU加速)
案例分享:Qt流水线图像显示控件(列刷新、1ms一次、缩放、拽拖、拽拖预览、性能优化、支持OpenGL GPU加速)
案例分享:Qt流水线图像显示控件(列刷新、1ms一次、缩放、拽拖、拽拖预览、性能优化、支持OpenGL GPU加速)
|
Android开发 开发者 异构计算
【Android 性能优化】布局渲染优化 ( GPU 过度绘制优化总结 | CPU 渲染过程 | Layout Inspector 工具 | View Tree 分析 | 布局组件层级分析 )(二)
【Android 性能优化】布局渲染优化 ( GPU 过度绘制优化总结 | CPU 渲染过程 | Layout Inspector 工具 | View Tree 分析 | 布局组件层级分析 )(二)
267 0
【Android 性能优化】布局渲染优化 ( GPU 过度绘制优化总结 | CPU 渲染过程 | Layout Inspector 工具 | View Tree 分析 | 布局组件层级分析 )(二)
|
Android开发 开发者 异构计算
【Android 性能优化】布局渲染优化 ( GPU 过度绘制优化总结 | CPU 渲染过程 | Layout Inspector 工具 | View Tree 分析 | 布局组件层级分析 )(一)
【Android 性能优化】布局渲染优化 ( GPU 过度绘制优化总结 | CPU 渲染过程 | Layout Inspector 工具 | View Tree 分析 | 布局组件层级分析 )(一)
426 0
【Android 性能优化】布局渲染优化 ( GPU 过度绘制优化总结 | CPU 渲染过程 | Layout Inspector 工具 | View Tree 分析 | 布局组件层级分析 )(一)
|
前端开发 Android开发 开发者
【Android 性能优化】布局渲染优化 ( 过渡绘制 | 自定义控件过渡绘制 | 布局文件层次深 | GPU 过渡绘制调试工具 | 背景过度绘制 )(一)
【Android 性能优化】布局渲染优化 ( 过渡绘制 | 自定义控件过渡绘制 | 布局文件层次深 | GPU 过渡绘制调试工具 | 背景过度绘制 )(一)
375 0
【Android 性能优化】布局渲染优化 ( 过渡绘制 | 自定义控件过渡绘制 | 布局文件层次深 | GPU 过渡绘制调试工具 | 背景过度绘制 )(一)
|
XML 存储 Android开发
【Android 性能优化】布局渲染优化 ( CPU 与 GPU 架构分析 | 安卓布局显示流程 | 视觉与帧率分析 | 渲染超时卡顿分析 | 渲染过程与优化 )
【Android 性能优化】布局渲染优化 ( CPU 与 GPU 架构分析 | 安卓布局显示流程 | 视觉与帧率分析 | 渲染超时卡顿分析 | 渲染过程与优化 )
462 0
【Android 性能优化】布局渲染优化 ( CPU 与 GPU 架构分析 | 安卓布局显示流程 | 视觉与帧率分析 | 渲染超时卡顿分析 | 渲染过程与优化 )
|
存储 机器学习/深度学习 缓存
深入浅出 | 谈谈MNN GPU性能优化策略
MNN(Mobile Neural Network)是一个高性能、通用的深度学习框架,支持在移动端、PC端、服务端、嵌入式等各种设备上高效运行。MNN利用设备的GPU能力,全面充分“榨干”设备的GPU资源,来进行深度学习的高性能部署与训练。
深入浅出 | 谈谈MNN GPU性能优化策略
|
Android开发 异构计算
【Android 性能优化】布局渲染优化 ( 过渡绘制 | 自定义控件过渡绘制 | 布局文件层次深 | GPU 过渡绘制调试工具 | 背景过度绘制 )(二)
【Android 性能优化】布局渲染优化 ( 过渡绘制 | 自定义控件过渡绘制 | 布局文件层次深 | GPU 过渡绘制调试工具 | 背景过度绘制 )(二)
192 0
|
机器学习/深度学习 文字识别 自然语言处理
端到端GPU性能优化在深度学习场景下的应用实践
摘要在2017杭州云栖大会机器学习平台PAI专场上阿里巴巴高级算法专家杨军结合具体案例分享了端到端GPU性能优化在深度学习场景下的应用实践。   本文内容根据嘉宾演讲视频以及PPT整理而成。   目前深度学习和GPU已经成为了人工智能的基础一软一硬的结合能够帮助我们实现图像识别、语音识别以及视频的处理那么如何优化深度学习框架与GPU资源也是机器学习平台的一个研究方向。
3731 0