Friday, May 05, 2006

PPU or GPU?

最近在公司和同事閒聊到Ageia的物理加速卡,結果小道消息是 Asus會使用Ageia的晶片來製作物理加速卡。英國一家網路購物站,也推出了預購活動,定價是184歐元左右,跟一塊X1800差不多價錢,個人覺得貴了點,我認為台幣3000上下是比較合理的價格。

今 年有去GDC的人,應該都有機會看到Havok FX使用雙GUP來加速物理的展示,我沒親眼看到,不過聽說速度可達到CPU運算的十倍上下。對於特製的PPU來做物理運算,我一直保持懷疑的態度,尤其 當shader model進入3.0之後,GPGPU的應用越來越可行了,感覺上PPU的生存空間似乎更小了。就我的觀點來看,使用GPU來做物理運算,一般人最擔心的 問題就是是否會佔用了太多 GPU rendering power,沒錯,他是會佔去GPU資源,但是若是遊戲的主要特色是強調物理性,而不是圖像的技術,那其實影響不大,再來,如果你有錢去買一張物理加速 卡,以目前的價格,你可以用同樣價格買到一張X1800加速卡,這樣的話,加物理運算移至另一張卡上,rendering power佔用的問題也就沒了,而且,沒有物理運算時,你還可以享受到CrossFire或是SLI的好處不是更划算嗎?而且就算只有一張顯示卡,遊戲也 可以提供選項來決定rendering跟physics使用資源量的分配,如果顯示卡夠高階,兩者可能都可以有很好的表現,但若是使用PPU,沒有物理加 速卡的人就只能軟體模擬了。我覺得PPU除非價格夠低,否則應該很難對抗使用GPU做物理運算的solution。

不過因為匯流排速的限 制,GPU或是PPU的物理運算目前還是只能用再特效性的物理上,gameplay physics目前還是得仰賴CPU來做運算。GPGPU是一個相當有趣的發展,配合上Shader model 3, 4,未來的發展很值得期待,公司還有同事開玩笑說,GPU也可以代表Game Processing Unit,這樣就不用改名了。

BTW, 經過一段時間的修改之後,新的LynxSDK可能很快就可以開放下載了,現在正在做最後的修飾以及一些範例的重寫。不過Document還是沒 時間做,希望能有時間將文件補齊。同時我也在考慮開放LynxSDK source code的可能性,主要還是因為時間太少,擔心open source後會增加我更多的負擔。

3 comments:

Anonymous said...

CPU未來的多核心走向也是殺手之一, 所以PPU要買嗎? 除非我錢多到地上有一萬美金也不屑撿時 Orz
不過許多開發商倒是頗支持的, 大概是不能斷定沒發展性所以才支援的吧

大大的引擎小弟之前有觀摩一下, 覺得不夠OO是一點缺憾

fallingCAT said...

LynxSDK是與硬體溝通的底層,所以我全部使用Ansi C + Assembly來完成,第一因為效率,第二是為了編譯環境不夠完整或是資源非常有限的平台。至於LynxEngine引擎部分,就全部是OO了,當然LynxED編輯器是最OO的部分了,因為引擎部分基於效率,多少還是會捨棄一些好用的C++特性。而編輯器主要的考量就不是效率,而是彈性,擴充性以及易維護性。

fallingCAT said...

還有一種情況下應該PPU可以有發展,因為既然是賣硬體,那軟體的作用就是為了銷售硬體,如果他們的物理引擎(包含軟體模擬)可以免費提供給開發者,那或許很有機會擊敗目前的物理引擎。因為授權一套物理引擎也是所費不貲啊,如果有免費的選項,開發者或許會很願意投入資源開發吧。