影响很大。硬件的功能及性能直接影响游戏软件的开发。

题主谈及PS3和Xbox360,本人参与过两个相关游戏项目的开发,就简单介绍一下它们硬件的差异如何影响软件开发。

PS3的特别之处,是它有一个主要的CPU(称为PPU),另外有6个可用的辅助处理单元(称为SPU)。软件开发难处在于,那些SPU各有256KB本地内存,开发者要把想并行计算的数据从主内存打包发送到SPU,完成工作后再把结果抄回来!SPU还用另一套指令集、编译程序!

PS3 Cell处理器

游戏软件开发,硬件的架构影响有多大?插图

游戏软件开发,硬件的架构影响有多大?插图1

而Xbox360则是3核CPU,能正常地访问512MB主内存(统一内存架构)。虽然不是x86架构,但能直接用正常的多线程方式来做并行。

Xbox360 Xenon处理器

游戏软件开发,硬件的架构影响有多大?插图2

至于SDK,微软提供Direct3D 9变种的API,移植PC的代码变得简单得多。而PS3的图形API则是非常低阶的,显存的地址分配都要开发者自己实现。另外,游戏的优化是需要针对个别CPU/GPU去做的,例如用该CPU/SPU的SIMD指令集去编程。

如果同时还要跨平台至Wii,那才是恶梦!因为Wii的”GPU”是固定管道的!Shader Model 1.0都没有啊!做个材质效果要设置几十个渲染状态,像IQ题一样!想用cube map做反射效果要先把它贴在球体上渲染至frame buffer(render target都没有!),然后抄到纹理,再把纹理当作sphere map来用啊!!Wii所有内存加起来100MB都没有,而且有分快主内存、慢主内存、帧缓冲内存、纹理内存啊!!你说怎么影响软件开发!!

吐完。

— 完 —

本文作者:Milo Yip

【知乎日报】
你都看到这啦,快来点我嘛 Σ(▼□▼メ)

此问题还有 2 个回答,查看全部。
延伸阅读:
App的名字对传播影响有多大?
巴西的手机游戏市场有多大?

分享到