當前位置:編程學習大全網 - 編程語言 - ps3與xbox

ps3與xbox

XBOX 360與PLAYSTAION 3的性能比較

概述

如今Xbox 360和PS3的規格都已經發布了,因此我們就可以給它們做壹個實際的性能比較。

遊戲機有三個重要的性能指標

CPU的性能

Xbox 360 CPU架構的通用處理能力是Cell的三倍

GPU的性能

Xbox 360 GPU 的設計擁有比PS3 GPU更靈活也更強大的處理能力

內存帶寬

Xbox 360的系統帶寬超越PS3五倍以上。

Xbox 360 CPU擁有更多通用處理能力是因為它擁有三個通用核心,而Cell只有壹個

Cell所宣稱的優勢是在於它的七個DSP處理器執行數據流浮點運算方面

Xbox 360 GPU擁有比PS3更多的處理能力,此外它的創新特性也提高了整體的渲染性能

Xbox 360擁有278.4GB/s的內存系統帶寬,PS3只有Xbox 360不到五分之壹(48GB/s)的整體內存系統帶寬。

結論

當妳們把這些數字逐壹列出的時候,Xbox 360擁有比PS3更好的性能。別忘了Sony壹貫誇大其詞,在實際性能指標上縮水。事實上這兩個系統都具有提供高清晰遊戲和娛樂的能力。

然而,硬件的性能盡管很重要,這只是問題的三分之壹。Xbox 360是壹個硬件、軟件和服務的集合體。如果沒有軟件和服務去推動它,即使再強大的硬件也會變得毫無意義。Xbox 360的遊戲-借助於尖端的硬件、軟件和服務-將會勝出於Playstation 3。

性能指標的詳細分析

CPU

Xbox 360的處理器為遊戲開發者提供的是真正需要,並且易於使用的處理能力。Cell處理器擁有很不錯的數據流浮點運算能力,但在遊戲中的使用很有限。

絕大多數的遊戲代碼是壹個由整數、浮點和向量計算構成的混合體,有很多的分支和隨機的內存訪問。讓壹個擁有緩存、分支預測和向量單元的通用處理器來執行它才是最佳選擇。

Cell的7個DSP(Sony稱其為SPE)沒有緩存,沒有直接內存訪問,沒有分支預測,甚至擁有壹個與PS3主CPU不同的指令集。它們不是為有效的通用計算而設計的。DSP不適合於遊戲的編程。

Xbox 360擁有三個通用CPU核心,Cell只有壹個。

Xbox 360的每個CPU核心都擁有向量處理能力,每個Xbox 360核心的每個硬件線程都有128個向量寄存器,帶有點乘積指令,還有1MB的***享二級緩存。Cell處理器的向量處理能力主要依靠7個DSP。

點乘積對遊戲來說很重要,因為在三維數學中它們被用於計算向量長度、投射、坐標變換等等。Xbox 360CPU擁有點乘積指令,而其它CPU例如Cell必須依靠乘法指令來模擬點乘積。

Cell的數據流浮點運算由它的7個DSP來執行。因為幾何處理已經轉移到了GPU,所以遊戲中對數據流浮點運算和其它DSP類編程的需求已經大為減少。

正如PS2的情感引擎缺少二級緩存,Cell是為那種處理器時間占用較少的遊戲編程而設計的。

Sony CPU的理想工作環境是通用計算時間占12.5%而DSP計算時間占87.5%。這種工作對於視頻回放和網絡波形分析很有意義,但不是遊戲。事實上,當我們分析實際的遊戲時就能發現幾乎相反的通用計算和DSP計算(時間)的分布,相對較小的指令部分是浮點運算。在這些浮點運算中也很少是用來處理連續的數據流的,它們被用來執行AI和路徑尋找,這些都需要隨機的內存訪問和頻繁的分支,而DSP卻很不適合這樣的工作。

基於運行下壹代遊戲的調查,只有10-30%執行的指令是浮點運算。剩余的指令是裝載、存儲、整數、分支等等。執行數據流浮點運算的指令就更少了,大約為5-10%。Cell是為數據流浮點運算而優化的,它核心的87.5%適合於數據流浮點運算就再沒別的了。

遊戲開發者不願意把他們的代碼分布到8個處理器上,特別是當其中的7個處理器非常不適合執行通用的程序。將遊戲代碼平均分配到8個處理器上是極端困難的。

GPU

即使忽略了帶寬的限制PS3的GPU也沒有Xbox 360的GPU強大

XBOX360和PS3性能比較

RSX GPU

550 MHZ

獨立的頂點/像素著色器

每秒執行510億次點乘積(整個系統的性能)

3億個晶體管

每個時鐘周期執行136次渲染操作

令人關註的運算單元的性能數據是每秒能執行510億次點乘積(整個系統的的性能),3億個晶體管,以及兩倍6800Ultra的性能

壹篇寫在幻燈片上的簡報顯示,如果包括Cell的處理能力在內,整個圖形系統的性能為每秒執行510億次點乘積。盡管Cell的DSP並沒有點乘積指令,從Sony的計算方式來看,這些DSP卻被假定每周期能執行壹次點乘積。

然而,即使按照Sony所謂的,CPU每周期7個點×3.2GHZ=224億個點/秒,GPU完成余下的510-224=286億個點每秒,那麽GPU的算術單元就完成286億個點每秒÷550MHZ=52個操作每周期。

這壹點很重要,因為如果RSX的算術單元和GeForce 6800相類似的話,以4維向量方式工作,而XBOX 360的GPU算術單元按照5維向量工作。PS3可編程GPU的浮點運算能力應該是52個操作每周期×4個浮點每個操作×2(madd)×550MHZ=228.8GFLOPS,小於XBOX 360的48個操作每周期×5個浮點每個操作×2(madd)×500MHZ=240GFLOPS

考慮到XBOX 360 GPU(330M)的晶體管數量略大,所以兩者有如此相近的GFLOPS值也很合理。

Cell上確實有額外的7個DSP可以用來執行圖形渲染,但是XBOX 360的三個通用核心以及定制的D3D和點乘積指令更適合真正的圖形計算。

6800Ultra有運行在400MHZ的16個像素流水線、6個頂點流水線。基於RSX擁有兩倍於6800Ultra的性能和更高的頻率,我們可以粗略估計壹下RSX應該擁有24個像素流水線和4個頂點流水線(較少的頂點流水線因為Cell的DSP可以做頂點著色)。如果PS3的GPU保持6800像素流水線的並行架構,Sony在發布稿中也有所暗示,將同樣證明它擁有24個像素流水線×2個並發指令+4個頂點流水線=52個點乘積/時鐘周期。

如果RSX延續6800Ultra的路線,它應該擁有24個紋理取樣器,不過它們會占據壹個算術單元,這就使得PS3的GPU更加缺乏實際的吸引力。即使它想利用算術單元的並發機制來減少紋理取回,它也沒有足夠的帶寬來取回這些紋理。

對於每個周期的著色操作,Sony的規劃很可能是每個像素流水線執行四次算術單元操作(並發的向量+標量)和壹次紋理操作,每個頂點流水線執行4次標量操作。總數為24×(4+1)+4×4=136次操作每周期,或者136×550=74.8G次操作每秒。

由於Xbox 360GPU多線程及平衡的設計,妳真的不能僅僅把這兩個系統做每秒執行多少次著色操作的(簡單)比較。然而Xbox 360的GPU每個時鐘周期可以做48次算術單元操作(每次都能做壹個4維向量(譯者註:應為5維向量)和標量的操作),16次紋理取回,32次流控制操作,以及16次可編程帶鑲嵌的頂點取回操作,總數為48×2+16+32+16=160次操作每周期或160×500=80G次操作每秒。

整體來說,自動化的著色負荷平衡,內存輸出特性,可編程的頂點取回,可編程的三角形鑲嵌,全速的頂點著色器紋理取回,以及其它超越shader model 3.0"的特性都使得XBOX 360的GPU提高了整體的渲染性能。

帶寬

PS3擁有22.4GB/s的GDDR3的帶寬,RDRAM有25.6GB/s,系統的總帶寬為48GB/s。

Xbox 360 擁有22.4GB/s的GDDR3的帶寬,和256GB/s的EDRAM帶寬,加起來是278.4GB/s

為什麽XBOX 360擁有這麽極限的帶寬呢?即使是最簡單的計算也表明幀緩存需要巨大的帶寬。例如,每周期8像素運行在550MHZ,帶有簡單的色彩渲染和Z值測試的幀緩存就需要52.8GB/s。PS3沒有足夠的內存帶寬來跟上GPU高峰時的渲染速度,這甚至還不包括紋理和頂點的取回。

PS3使用Z值和顏色壓縮來補償帶寬的不足。問題是當用於渲染次時代的復雜3D圖形時,Z值和色彩壓縮的性能會迅速下降。

高分辨率渲染,阿爾法混合和反鋸齒需要更多的帶寬,這就是為什麽Xbox 360為幀緩存專門留出了256GB/s的帶寬,這就讓Xbox 360的GPU能在進行Z值測試、高分辨率渲染、阿爾法混合以及4X全屏反鋸齒的同時保持全速,並且還有22.4GB/s的系統帶寬留給紋理和頂點。

  • 上一篇:10部外國電影勵誌片
  • 下一篇:女生做前端開發怎麽樣?還是產品經理?
  • copyright 2024編程學習大全網