UnityShader学习——渲染优化技术(分析)

引言

对问题认识不清以及过度优化往往会让事情变得更加复杂,产生更多的程序错误。然而,如果我们在游戏开发过程中从来都没有考虑优化,那么结果往往是惨不忍睹的。一个正确的做法是,从一开始就把优化当成是游戏设计中的一部分。 和PC相比,移动设备上的GPU有着完全不同的架构设计,它能使用的带宽、功能和其他资源都非常有限。这要求我们需要时刻把优化谨记在心,才可以避免等到项目完成时才发现游戏根本无法在移动设备上流畅运行的结果。

游戏优化不仅是程序员的工作,更需要美工人员在游戏的美术上进行一定的权衡,例如,避免使用全屏的屏幕特效,避免使用计算复杂的shader,减少透明混合造成的overdraw等。也就是说,这是由程序员和美工人员等各个部分人员共同参与的工作。

移动平台的特点

和PC平台相比,移动平台上的GPU架构有很大的不同。由于处理资源等条件的限制,移动设备上的GPU架构专注于尽可能使用更小的带宽和功能,也由此带来了许多和PC平台完全不同的现象。例如,为了尽可能移除那些隐藏的表面,减少overdraw(即一个像素被绘制多次), PowerVR芯片(通常用于iOS设备和某些Android设备)使用了基于瓦片的延迟渲染(Tiled-based Deferred Rendering, TBDR)架构,把所有的渲染图像装入一个个瓦片(tile)中,再由硬件找到可见的片元,而只有这些可见片元才会执行片元着色器。另一些基于瓦片的GPU架构,如Adreno(高通的芯片)和Mali(ARM的芯片)则会使用Early-Z或相似的技术进行一个低精度的的深度检测,来剔除那些不需要渲染的片元。还有一些GPU,如Tegra(英伟达的芯片),则使用了传统的架构设计,因此在这些设备上,overdraw更可能造成性能的瓶颈。

由于这些芯片架构造成的不同,一些游戏往往需要针对不同的芯片发布不同的版本,以便对每个芯片进行更有针对性的优化。尤其是在Android平台上,不同设备使用的硬件,如图形芯片、屏幕分辨率等,大相径庭,这对图形优

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值