据Engadget报道,在2001年11月微软初代Xbox上市前,游戏机图形长期由定制、固定功能的芯片完成,这些芯片只能绘制而不能运行代码;初代Xbox首次把PC GPU引入主机,采用NVIDIA基于GeForce 3定制的图形处理器,让开发者可以编写自己的像素和顶点着色器。
早期限制留下玩家熟悉的画面现象。据Engadget报道,在《超级马里奥兄弟》中,同一行出现太多栗宝宝时,部分精灵会开始闪烁,原因是NES图形芯片每扫描线最多处理八个精灵,超过上限的对象会被丢弃,游戏只能让它们交替出现。NES使用理光2C02图像处理单元,该芯片不能运行代码,而是从卡带读取图块素材并结合内存查找表,逐一扫描线生成电视信号。这种由CPU向专用图像生成器供数的安排,是1970年代末至2000年代多数游戏机的渲染方式。
2C02约有10kB内存,其中约8kB是卡带上的图块形状,2kB是主机内存,用于保存背景地图;芯片内部另有小型存储器追踪最多64个精灵的位置、形状和方向。其输出为256x240像素,由8x8图块构成,绘制与CRT电子束同步,CPU无法在画面绘制时安全改写图像。更早的Atari 2600让CPU也处理图形,其电视接口适配器没有帧缓冲,处理器必须为每条扫描线送入新数值;1972年的Magnavox Odyssey没有处理器和内存,用分立逻辑绘制点和线。
索尼在1999年3月展示了PS2芯片。其CPU是索尼与东芝共同打造的128位Emotion Engine,图形由独立芯片Graphics Synthesizer负责,最终主机中两者分别运行在约295 MHz和147 MHz。Graphics Synthesizer不做几何运算,三角形到达时位置已确定,芯片只负责填充颜色和纹理;几何运算由Emotion Engine的两个向量单元完成,VU0处理零散任务,VU1主要运行3D变换。索尼和东芝工程师称,单个向量单元每秒可完成8500万次此类变换。索尼曾在1994年PlayStation的东芝设计图形芯片上使用GPU一词,比NVIDIA在GeForce 256上营销“世界首款GPU”早五年,但现代GPU的工作定义——能运行游戏编写的小程序——直到2001年初GeForce 3才出现。
NVIDIA和微软于2000年3月签署Xbox协议,五天后比尔·盖茨登台宣布该主机。它将采用Intel Pentium III级处理器、NVIDIA定制图形处理器、两者共享的64MB内存和8GB硬盘,成品主机在2001年CES亮相,同年11月开售。初代Xbox围绕Intel Pentium III和NVIDIA专门制造的图形芯片构建,后者基于GeForce 3;GeForce 3在2001年2月才发布,是首款允许开发者编写像素和顶点着色器的GPU。
游戏机并未一次性全部转向PC式硬件。任天堂GameCube与初代Xbox同月上市,使用IBM的PowerPC处理器,此后十年各主要游戏机都采用类似方案。2005年Xbox 360改用IBM的三个PowerPC核心;PS3的Cell芯片由索尼、东芝和IBM围绕PowerPC核心打造;Wii和Wii U都运行GameCube所用IBM芯片的更新版本。图形一侧已先行PC化,Xbox 360采用ATI芯片,PS3采用NVIDIA芯片。据Engadget报道,这一局面到2013年PS4改用八个AMD处理器核心后发生变化。