赞
踩
这个专栏我们会阐述一些unity中常见的优化技术,这些技术基本都是和渲染相关的,例如使用批处理、LOD(Level of Detail)技术等。
游戏优化不仅是程序员的工作,更需要美工人员在游戏的美术上进行一定的权衡,例如避免使用全屏的屏幕特效,避免使用计算复杂的shader,减少透明混合造成的overdraw等。这是由程序和美工人员等各部分人员共同参与的工作。
和PC平台相比,移动平台的GPU架构有很大的不同。由于处理资源等条件的限制,移动设备上的GPU架构专注于尽可能使用更小的带宽和功能,也由此带来了许多和PC平台完全不同的现象。
例如为了尽可能移除那些隐藏的表面,减少overdraw(即一个像素被绘制多次),PowerVR芯片(通常用于IOS设备和某些Android设备)使用了基于瓦片的延迟渲染(TBDR)架构,把所有的渲染图像装入一个个瓦片中,再由硬件找到可见的片元,而只有这些可见片元才会执行片元着色器。另一些基于瓦片的GPU架构,如Adreno(高通的芯片)和Mati(ARM的芯片)则会使用Early-Z或相似的技术进行一个低精度的深度检测,来剔除那些不需要渲染的片元。还有一些GPU,如Tegra(英伟达的芯片),则使用了传统的架构设计,因此在这些设备上,overdraw更可能造成性能的瓶颈。
由于这些芯片架构造成的不同,一些游戏往往需要针对不同的芯片发布不同的版本,以便对每个芯片进行更有针对性的优化。尤其是在Android平台上,不同设备使用的硬件,如图形芯片、屏幕分辨率等,大相径庭,这些对图形优化提出了更高的挑战,IOS平台硬件条件则相对统一。
首先学习如何优化之前,我们得了解影响游戏性能的因素有哪些。对于一个游戏来说,它主要使用两种计算资源:CPU和GPU。它们会互相合作,来让我们的游戏可以在预期的帧率和分辨率下工作。其中CPU主要负责保证帧率,GPU主要负责分辨率相关的一些处理。据此我们可以把造成游戏性能瓶颈的主要原因分成以下几个方面。
(1)CPU。
过多的draw call。</
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。