Unity6性能优化(4)——基础——PC游戏与移动游戏性能的不同挑战


 

PC游戏与移动游戏区别对比

  • 维度:硬件性能、游戏类型、画面质量、操作体验、性能工具

硬件性能

  • PC平台与移动平台硬件设计追求的目标与物理约束不同
    • PC平台追求的是最高性能,更注重对大型任务和多任务平行的处理,通常硬件结构复杂,耗电较高,以追求更高的算力,而不太注重硬件体积和能耗。有更多的主动散热手段。
    • 移动平台追求的是能效比,更注重高性能和低功耗,同时考虑便携性与续航。通常硬件体积小、耗电少、发热小,并要求有一定算力,所以工艺制成精细。更多依赖被动散热手段。

硬件性能差异

PC平台 移动平台 影响
供电与散热 电源和风扇、水冷 电池和散热硅脂 温度墙
处理器 独立的CPU/GPU,代差大 CPU/GPU集成封装到一起,代差小 兼容性、逻辑复杂性、并行性、画面质量
内存/缓存/存储 多级,协调、延迟高、扩展 简单、快速、延迟小、不易扩展 资产质量、代码指令
输入输出设备 鼠标/键盘/手柄/显示器/各种外设 触摸屏 显示格式、分辨率、帧率、输入封装
网络 家庭或办公室宽带网络,速度快、稳定 移动数据网络,速度慢、型号不稳定 同步方式、断线处理、网络开销
  • 一旦移动设备碰到了温度墙,系统就会对硬件做降频处理。而在PC平台上,这个温度墙的门槛很高,甚至可以忽略温度对游戏设计的影响
  • PC上的处理器,一般代差比较大,甚至有超过10年不更换PC硬件的用户;而在移动平台上,硬件代差会比较小,目前最多5年前的移动设备,基本上都已经被淘汰了。因此PC平台上对处理器的兼容,需要考虑时间维度上对设备兼容更大的广度,而移动平台上需要考虑的是对移动设备厂商和系统兼容的广度
  • 另外由于PC平台处理器高性能,这就对游戏设计,无论从玩法还是画面质量上,都提出了更高的要求,并且由于PC平台处理器的核数、并行计算的单元数以及频率,都要比移动平台大得多,一些并行计算处理较多和面向数据设计的游戏,在PC平台上能得到更好的发挥,如:使用DOS架构开发的游戏,在PC平台上会得到更好的性能优化表现
  • 内存/缓存/存储,对游戏设计的影响,主要是要考虑原始游戏资产要设计成什么质量、包体多大、游戏加载占用多少内存、加载到缓存中的资源catch命中如何,这些PC平台一般都追求最高质量,而移动平台更需要考虑内存、缓存和存储方面的影响。同时不同的缓存架构也会导致代码指令优化的方式不同,以及代码写法的差异
  • 网络上,虽然移动设备也可以通过连接WIFI得到较好的网络环境,但移动游戏设计时要考虑更多一般无WIFI网络的环境,网络开销对移动设备发热和功耗也会有影响
  • 网络上差异的点,在PC平台上的选择要灵活和自由的多,但这不代表PC游戏网络要做的优化事情少。这是因为PC网络游戏对在线规模的要求、架构的复杂度都要比移动平台大得多

游戏类型的差异

  • 相对而言:
  • PC游戏类型特点:长时间,重操作,强社交,深玩法
  • 移动游戏类型特点:段时间,轻操作,弱社交,多模块

  • PC平台特有游戏类型:RTS,格斗,体育,MMO
  • 几乎是无法在移动平台实现的

  • 根据这些差异可以归纳出,对性能影响的点:
  • 规模:
    • 资源质量
    • 内存质量
    • 安装包大小
    • 内存/显存占用
    • 网络通讯量
  • 分辨率、资源格式与精度、画面效果、后效、HDR/HDROutput、平台/硬件特性支持

  • 操作体验差异:
  • 刷新率/垂直同步
    • 一些游戏为了追求极致的手感体验,设置可以放弃画面撕裂对视觉的影响,如FPS竞技射击游戏,它们更注重操作的灵敏与快捷
    • 目前PC上的显示设备支持的刷新率可以很高,而在移动平台上只有很高端的设备才可以开启高刷
    • 在一些游戏类型下,支持高刷的开发就更困难了,帧率是影响高刷效果的最大障碍,为了支持高刷,我们必须在PC平台上将帧率做到极致,尤其是一些高端的PC上,可能需要通过超分插帧等方式实现高帧率
    • PC平台上对玩家的沉浸感体验要求也是要高于移动平台的,比如超宽显示器屏幕、环绕立体声、体感反馈,各种外设支持都需要额外的开发工作与性能优化工作
    • 延迟也是影响沉浸感的一个原因,比如会遇到帧率低带来的输入与显示延迟、由网络稳定性带来的网络延迟、由显示器刷新时间带来的显示延迟,这些方面在某些竞技类PC游戏上,都要考虑做延迟补偿的方案
  • 沉浸感
  • 延迟(帧率、网络、输入输出)

PC性能工具

  • PC端的性能工具基本上都是一些针对某一方面,或者是特殊硬件来做性能测试的工具,很难找到一个类似于XCode的既全面又完善还易用的性能工具
  • 往往在做某一方面性能优化工作时,需要使用到好几种工具来完成,这也为我们做PC性能优化工作,提出了更多的要求