【Unity优化】图形优化系列03:GPU优化

摘要:
标准:降低分辨率,从而提高性能优化方法:1)优化芯片着色器2)使用功耗较低的官方着色器3)如果需要标准着色器,请使用尽可能少的参数函数4)优化自制着色器5)优化Overlaw 6)优化ImageEffects内存带宽定义:GPU每单位时间传输的数据量。标准:降低QualitySettings中的TextureQuality,从而提高性能优化方法:1)压缩纹理2)Mipmaps顶点处理定义:GPU需要处理网格上的每个顶点。

通常受限于:填充率、内存带宽、顶点处理

填充率

定义:GPU每秒输出到屏幕上的像素数(在游戏开发中,周期可细化到每帧)。

判别标准:降低分辨率,导致性能提升

优化方法:

1)优化片元着色器

2)使用消耗更低的官方着色器(比如用 Mobile 着色器替代 Standard 着色器)

3)如果需要 Standard 着色器,则尽可能少用其中的参数功能

4)优化自制的着色器

5)优化 Overdraw(导致原因:透明材质、未优化粒子、重叠的UI)

6)优化 Image Effects

内存带宽

定义:GPU单位时间内传输的数据量(一般是纹理内存占用过大)。

判别标准:降低 Quality Settings 中的 Texture Quality,导致性能提升

优化方法:

1)压缩纹理

2)Mipmaps

顶点处理

定义:GPU需要处理网格上的每个顶点。

判别标准:1)填充率和内存带宽不是瓶颈;2)减少顶点处理带来性能提升

优化方法:

1)减少网格的顶点数

2)使用法线贴图

3)如果用不到法线贴图,在导入设置中关闭顶点切线

4)LOD

5)优化顶点着色器

6)使用消耗更低的官方着色器(比如用 Mobile 着色器替代 Standard 着色器)

免责声明:文章转载自《【Unity优化】图形优化系列03:GPU优化》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇虚表和虚表指针前端性能优化常用方法下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Unity用GUI绘制Debug/print窗口/控制台-打包后测试

Unity游戏视窗控制台输出 本文提供全流程,中文翻译。 Chinar 坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 —— 高分辨率用户请根据需求调整网页缩放比例) Chinar —— 心分享、心创新!助力快速在 Game 视窗用 GUI 实现一个控制台的输出面板为新手节省宝贵的时间,避免采坑! Chinar 教程效果:(可打包后执...

Unity3d:UI面板管理整合进ToLua

本文基于 https://github.com/chiuan/TTUIFramework https://github.com/jarjin/LuaFramework_UGUI 进行的二次开发,Thanks! 需求: 1.需要一个UI面板管理器,逻辑写在lua里面,方便热更新。 2.管理器控制面板的打开(show),隐藏(Hide),销毁(Destroy)...

Unity中通过DoTween实现转盘效果

通过转盘的数量,来计算需要旋转到的角度我这里是有12个旋转的位置,故360/12=30,所以,以30度为一个单位,进行偏移计算.. 实现方式如下: DrawRotateScr脚本: /********************************************* * * Title: 大转盘的实现 * * Description...

【Unity插件】NGUI核心组件之UIPanel .

转自:http://blog.csdn.net/daiguangda/article/details/7840084   UIPanel负责创建实际的集合图形。你不需要手动的添加UIPanel-一旦你创建一个控件,它会自动被添加。如果你想将你的UI渲染拆分到不同的Draw Call中,你可以手动创建你自己的UIPanel,例如你要创建一个分屏的游戏,每个屏...

Ubuntu环境下使用Unity3D调用C++编写的Linux so动态链接库

Unity3D已经有了支持Linux的社区版本。要在Linux环境下开发Unity3D程序,首先要安装Linux版的Unity。地址如下: https://forum.unity3d.com/threads/unity-on-linux-release-notes-and-known-issues.350256/#post-2556301 1 制作Linu...

Unity3D去掉全屏时的屏幕黑边

给全屏后不在乎拉伸变形仍想让画面占满屏幕的朋友,网上搜了一上午,实在是没有相关的资料,只能自己琢磨了。 使用Canvas Scaler在全屏后Unity虽然会为我们自动拉伸UI,但拉伸后仍然保持我们在Unity中设置的高宽比。屏幕中的黑边需要通过代码来对UI的内容进行拉伸填充。 下面是我的测试环境: Unity3D 5.3.4 Win 10 64bit 测...