• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            芳草春暉

            偶爾記錄自己思緒的地方...

             

            Havok VS PhysX 漫談物理加速世界!

            第1頁(yè):物理大戰(zhàn)新篇章

              2008年6月,NVIDIA與AMD-ATI先后發(fā)布了自家新一代高階產(chǎn)品GT200(GeForce GTX 280/260)與RV770(Radeon HD 4850/4870),我們?cè)隗@詫于新產(chǎn)品的極限性能時(shí),眾多新技術(shù)引用也是玩家關(guān)注的重點(diǎn),例如NVIDIA的CUDA架構(gòu),AMD-ATI的GPGPU解決方案等。在眾多的技術(shù)當(dāng)中,物理加速技術(shù)由于震撼的視覺(jué)體驗(yàn)及兩家不同的解決方案再次成為了人們關(guān)注的焦點(diǎn)。

              NVIDIA發(fā)布的CUDA 2.0開(kāi)發(fā)包中蘊(yùn)含了PhysX物理加速技術(shù),NVIDIA的意向是使用GPU通過(guò)CUDA架構(gòu)來(lái)實(shí)現(xiàn)物理加速;而作為同時(shí)擁有CPU與GPU業(yè)務(wù)的AMD自然會(huì)選擇CPU+GPU為主導(dǎo)的Havok物理引擎。2007年9月Intel閃電收購(gòu)Havok之后,NVIDIA與AMD-ATI的GPU物理加速計(jì)算就顯得非常尷尬,因?yàn)镮ntel收購(gòu)Havok的目的就是使Havok引擎專注于CPU物理運(yùn)算,為了對(duì)抗Intel(亦或是說(shuō)CPU),NVIDIA收購(gòu)了Ageia及其PhysX引擎,使PhysX引擎專注于GPU物理運(yùn)算。AMD-ATI如何選擇物理加速方案在RV770之前業(yè)界充滿了猜測(cè),因?yàn)闊o(wú)論是Havok還是PhysX引擎,都是競(jìng)爭(zhēng)對(duì)手的產(chǎn)品,而為了AMD更加長(zhǎng)遠(yuǎn)的Fusion計(jì)劃,AMD-ATI最終選擇了前者。

              物理加速技術(shù)在2006年Ageia發(fā)布物理PhysX加速卡時(shí)被人們所關(guān)注,甚至有人笑稱3D加速成就了3DFX,而物理加速將成就Ageia,但是由于Ageia采用的是PhysX硬件物理卡加速方式,而物理卡又價(jià)格不菲,雖然Ageia也出售PhysX引擎,但是由于沒(méi)有PhysX硬件加速卡支持的話效率會(huì)降低,在加上NVIDIA與AMD-ATI當(dāng)時(shí)都采用了Havok引擎作為標(biāo)準(zhǔn),因此一直沒(méi)有受到游戲開(kāi)發(fā)商及廣大玩家的重視。而Havok引擎在很長(zhǎng)一段時(shí)間都是致力于CPU軟件加速,但是隨著Havok 4.0工具中Havok FX的發(fā)布就不一樣了,Havok FX引擎是通過(guò)GPU來(lái)進(jìn)行物理加速,主要針對(duì)當(dāng)時(shí)的PhysX引擎。

              關(guān)于GPU與CPU在做物理運(yùn)算時(shí)的差距這里就不多做介紹了,有很多這方面的文章可尋,總體來(lái)說(shuō)GPU運(yùn)行物理運(yùn)算可以是四核CPU的十幾倍到幾十倍不等,比PPU有幾倍到幾十倍的性能提升。而我們這里主要探討的NVIDIA與AMD-ATI GPU加速昨天、今天與明天!

            第2頁(yè):昨天—殊歸同途的Havok FX引擎

              Havok FX發(fā)布于2006年中,前文已經(jīng)提到,Havok FX引擎是通過(guò)GPU來(lái)進(jìn)行物理加速,當(dāng)時(shí)的NVIDIA與AMD-ATI都不約而同的支持Havok FX引擎,首先來(lái)看NVIDIA的NVIDIA SLI Physics技術(shù),NVIDIA是采用SLI模式的第二塊顯卡來(lái)進(jìn)行物理加速。

              從上圖中可以看出,Havok FX API通過(guò)DirectX將數(shù)據(jù)發(fā)給GPU驅(qū)動(dòng),如果游戲或者驅(qū)動(dòng)不支持SLI物理,那么將不會(huì)發(fā)送物理數(shù)據(jù),反之則交給GPU 2進(jìn)行物理計(jì)算,計(jì)算結(jié)果則返回給Havok API。

              與NVIDIA的物理解決方案類似,AMD-ATI同樣采用Havok FX引擎,同樣基于多卡互聯(lián)CrossFire來(lái)實(shí)現(xiàn)物理加速,第二塊顯卡來(lái)進(jìn)行GPU物理加速。

              當(dāng)時(shí)AMD-ATI的X1000系列GPU的設(shè)計(jì)理念是搭建智能化的芯片架構(gòu),使得芯片內(nèi)部的運(yùn)算靈活性增強(qiáng),根據(jù)外部接口API的不同,可以實(shí)現(xiàn)完全不同的運(yùn)算任務(wù),并且命名為DPP(Data Parallel Processing )并行數(shù)據(jù)處理架構(gòu)。

              雖然同樣采用了Havok FX引擎,并且都是雙卡互聯(lián)形式實(shí)現(xiàn),但是兩家的解決方案卻大相徑庭:NVIDIA是通過(guò)DirectX API來(lái)實(shí)現(xiàn)物理加速,而AMD-ATI則是通過(guò)數(shù)據(jù)并行計(jì)算架構(gòu)提取(Data Parallel Processing Architecture Abstraction )直接與Havok FX引擎交換數(shù)據(jù),讓Havok FX引擎直接與GPU溝通,而不需要通過(guò)Direct3D和OpenGL API,AMD-ATI著名的Close To Metal(CTM)接口就是在這個(gè)時(shí)期提出的。簡(jiǎn)單的理解就是,AMD-ATI的實(shí)現(xiàn)方式是“GPGPU”通用計(jì)算的形式來(lái)做物理運(yùn)算,而NVIDIA是讓顯卡通過(guò)DirectX以“GPU”的工作方式在做物理加速(其實(shí)也是GPGPU應(yīng)用范疇)。

              至于兩種方案的優(yōu)劣其實(shí)討論起來(lái)真的沒(méi)有意義,因?yàn)閷?shí)際上除了NVIDIA與AMD-ATI自家演示的小DEMO與視頻之外,目前支持GPU物理加速的游戲幾乎沒(méi)有,大部分使用到物理加速的游戲還都是使用CPU物理加速的方式,包括我們熟知頂級(jí)大作《Crysis》、《使命召喚4:現(xiàn)代戰(zhàn)爭(zhēng)》等等……

            第3頁(yè):今天—PhysX決戰(zhàn)Havok FX

              當(dāng)NVIDIA宣布CUDA集成PhysX物理引擎時(shí),很多人都會(huì)認(rèn)為PhysX引擎只支持GPU物理加速技術(shù),這也是AMD-ATI選擇Havok FX引擎的主要原因。然而實(shí)際上PhysX引擎最初是只支持CPU與PPU,而不支持GPU,即使是融入CUDA之后,PhysX引擎也仍然支持CPU物理加速。之所以給人PhysX引擎只支持GPU物理加速的錯(cuò)覺(jué),是因?yàn)镹VIDIA表示今后將大力發(fā)展GPU物理加速,但這并不表示PhysX引擎排斥CPU或者CPU+GPU的解決方案。

              無(wú)論是GPU還是CPU、PPU、Cell(PS3)都可以通過(guò)HAL翻譯層來(lái)實(shí)現(xiàn)軟、固質(zhì)體動(dòng)力(Soft or Rigid Body Dynamics)、通用碰撞偵測(cè)(Universal Collision Detection)、有限元素分析(Finite Element Analysis)、流體動(dòng)力(Fluid Dynamics)、毛發(fā)模擬(Hair Simulation)以及更先進(jìn)的布料模擬(Cloth Simulation)、自然模擬(Natural Motion)等在內(nèi)新穎技術(shù)。

              通過(guò)CUDA通用接口,PhysX引擎將NVIDIA GPU中的Thread Scheduler(線程管理器)模擬成Control Engine(控制引擎CE),而Streaming Processors來(lái)模擬Vector Processing Engine(矢量處理引擎,VPE),其中CE控制引擎負(fù)責(zé)任務(wù)的指派,相當(dāng)于PhysX中的主管機(jī)構(gòu),而真正的物理運(yùn)算任務(wù)則是由VPE矢量引擎來(lái)完成,最后通過(guò)Data Movement Engine(數(shù)據(jù)移動(dòng)引擎DME)輸出。關(guān)于最新GT200物理運(yùn)算的優(yōu)勢(shì)已經(jīng)被NVIDIA吹的天花亂墜,這里就不多介紹了,感興趣的朋友參見(jiàn)《NVIDIA奪面雙雄 GT200全球同步首測(cè)》一文。

              而AMD-ATI則繼續(xù)選擇Havok FX引擎,不過(guò)RV770系列實(shí)現(xiàn)物理加速的方法也已經(jīng)不同于之前的CrossFire雙卡解決方案,之前Radeon X1000系列是通過(guò)據(jù)并行計(jì)算架構(gòu)提取直接與Havok FX引擎相連接(其實(shí)也可以通過(guò)Direct3D和OpenGL API),然而由于對(duì)抗CUDA的原因,AMD-ATI也需要自己的GPGPU規(guī)范,而AMD-ATI則選擇了蘋果公司力推的通用計(jì)算行業(yè)標(biāo)準(zhǔn)OpenCL,它能與圖形硬件及多核CPU相協(xié)調(diào)以提高系統(tǒng)的整體性能,而AMD-ATI的Havok物理加速技術(shù)就是基于CAL/Brook+的。

              實(shí)質(zhì)上講無(wú)論是CTM接口,還是現(xiàn)在的CAL/Beook+,AMD-ATI執(zhí)行物理加速的概念都沒(méi)有變,那就是GPGPU的并行能力進(jìn)行物理運(yùn)算,而NVIDIA方面可以真正稱的上市GPGPU物理加速還是從CUDA開(kāi)始的。另外我們也注意到,之前無(wú)論NVIDIA還是AMD-ATI在展示自己物理運(yùn)算時(shí)都是基于雙卡技術(shù),而如今他們更愿意談?wù)搯慰ā?/font>

            第4頁(yè):明天—技術(shù)與現(xiàn)實(shí)之間的抉擇

              那么物理加速技術(shù)的明天到底是Havok FX引擎還是PhysX引擎的天下?我們先來(lái)看一下雙方的陣營(yíng):PhysX引擎目前只有NVIDIA一家支持,有消息稱AMD-ATI目前也正在與NVIDIA商榷授權(quán)的問(wèn)題,那么有可能AMD-ATI最終也支持PhysX引擎;Havok FX引擎目前已經(jīng)得到AMD-ATI的支持,加上Havok的所有者Intel,目前構(gòu)成了Intel+AMD-ATI對(duì)抗NVIDIA的局面。

             

            物理加速陣營(yíng)對(duì)比

             

              支持引擎 加速態(tài)度
            Intel
            Havok
            CPU
            AMD-ATI
            Havok(PhysX引擎正在商榷)
            CPU+GPU
            NVIDIA
            PhysX引擎
            GPU
             

              三方對(duì)于物理加速是由GPU還是由CPU執(zhí)行的態(tài)度開(kāi)篇已經(jīng)闡明,實(shí)際上這場(chǎng)物理大戰(zhàn)最終的抉擇就是落在了到底是CPU加速還是GPU加速上,我們先來(lái)看一下最簡(jiǎn)單的物理加速計(jì)算過(guò)程。小熊在線www.beareyes.com.cn

              無(wú)論P(yáng)hysX引擎還是Havok引擎物理計(jì)算都基于以下步驟:

              Integrate整合初步計(jì)算
            Collide碰撞判定
            Solve Collisions碰撞結(jié)果計(jì)算

              在Integrate整合初步計(jì)算階段,進(jìn)行物理對(duì)象的一些初始物理狀態(tài)的初始化,包括速度、加速度等各項(xiàng)信息,為后面的運(yùn)算做準(zhǔn)備。Collide 碰撞判定進(jìn)行一些對(duì)象之間的碰撞檢測(cè),并以對(duì)的形式進(jìn)行處理(因?yàn)榕鲎部偸莾蓚€(gè)物體相互的),Solve Collisions碰撞結(jié)果計(jì)算階段則是對(duì)碰撞的后處理,包括碰撞后的速度等。Solve Collisions碰撞結(jié)果計(jì)算階段是最復(fù)雜的,那么我們可以看出物理計(jì)算是一個(gè)對(duì)并行計(jì)算非常依賴的運(yùn)算。小熊在線www.beareyes.com.cn


            Solve Collisions

              我們看到,物理運(yùn)算所需的大量并行計(jì)算正是GPU所具備的優(yōu)勢(shì),利用GPU做物理運(yùn)算確實(shí)是天經(jīng)地義的事,那么是不是說(shuō)物理計(jì)算目前就是該由GPU來(lái)負(fù)責(zé)呢?在回答這個(gè)問(wèn)題之前我們先來(lái)看一下NVIDIA在近期發(fā)布的PhysX驅(qū)動(dòng),搭配PhysX驅(qū)動(dòng)在運(yùn)行3DMark Vantage CUP測(cè)試第二個(gè)場(chǎng)景的時(shí)候,由于GPU接替(或者說(shuō)是加速)物理運(yùn)算,使這個(gè)場(chǎng)景成績(jī)暴增,可以看出GPU取代CPU物理加速時(shí)的決定性優(yōu)勢(shì),而在NVIDIA最新發(fā)布虛幻3物理地圖演示中,我們卻可以看到如下的成績(jī):


            1680×1050


            2560×1600

              GPU進(jìn)行物理加速在進(jìn)行很少使用到圖形渲染的3DMark Vantage CPU測(cè)試第二個(gè)場(chǎng)景,以及較低分辨率下進(jìn)行游戲時(shí),GPU物理加速確實(shí)效果令人滿意,但是隨著分辨率的增加,GPU物理加速在游戲中的表現(xiàn)就不在我們想象的那樣完美,對(duì)比CPU加速,有些場(chǎng)景甚至還有成績(jī)的下降!

              這是游戲中GPU與CPU的關(guān)系決定的,在游戲中,顯卡大多數(shù)時(shí)候都是在滿負(fù)荷運(yùn)行,這時(shí)根本無(wú)暇分身做物理運(yùn)算!那么這時(shí)CPU在做什么?游戲是非搶占型程序,也就是說(shuō)如果一般游戲不會(huì)全部榨干CPU性能,所以我們?cè)谶M(jìn)行游戲時(shí)經(jīng)常看到CPU的占用率并非100%,如果是4核CPU而游戲又不支持多核的話,那么這時(shí)CPU的性能就在浪費(fèi)!

              實(shí)際的情況已經(jīng)很明了,GPU確實(shí)非常做物理運(yùn)算,但是實(shí)際情況卻是GPU心有余而力不足,利用目前閑置的CPU來(lái)做物理加速似乎是最好的選擇,而如果我們有兩塊顯卡的話也許就解決了GPU自顧不暇的問(wèn)題,這是不是讓你想到了當(dāng)初NVIDIA及AMD-ATI都不約而同選擇Havok FX物理加速的原因——一塊顯卡做圖形渲染,一塊顯卡做物理加速!

              今后物理的發(fā)展最終走向何方?也許會(huì)是GPU強(qiáng)大到做物理加速如現(xiàn)在的視頻解碼,也許是今后游戲繼續(xù)榨干顯卡的性能,由多核CPU閑暇來(lái)做物理計(jì)算,也許是Fusion的CPU+GPU協(xié)同操作,總之,一切皆有可能,我們拭目以待……

            posted on 2010-05-04 22:53 CrazyDev 閱讀(1146) 評(píng)論(0)  編輯 收藏 引用 所屬分類: 圖形技術(shù)

            導(dǎo)航

            統(tǒng)計(jì)

            常用鏈接

            留言簿(1)

            隨筆檔案

            文章分類

            文章檔案

            C/C++

            CEGUI

            Friend Bog

            Game Industry

            Lua

            OGRE

            Other

            搜索

            最新評(píng)論

            閱讀排行榜

            評(píng)論排行榜

            久久午夜电影网| 精品999久久久久久中文字幕 | 香蕉久久影院| 97视频久久久| 国产精品视频久久久| 亚洲?V乱码久久精品蜜桃| 久久久亚洲裙底偷窥综合| 国产精品久久久久久影院 | 久久久久久亚洲AV无码专区| www.久久精品| 久久人与动人物a级毛片| 女人香蕉久久**毛片精品| 国内高清久久久久久| 久久精品成人| 色综合久久综合网观看| 无码人妻少妇久久中文字幕蜜桃 | 中文字幕乱码人妻无码久久| 亚洲一区二区三区日本久久九| 97视频久久久| 亚洲精品视频久久久| 日本三级久久网| 久久99精品国产99久久6男男| av色综合久久天堂av色综合在| 久久久噜噜噜久久| 久久本道久久综合伊人| 久久综合综合久久狠狠狠97色88| 亚洲精品国产字幕久久不卡| 一本久道久久综合狠狠躁AV| 久久午夜福利电影| 久久综合久久伊人| 精品久久久久久国产三级| 国产高潮国产高潮久久久91| 中文字幕一区二区三区久久网站| 精品久久久久香蕉网| 99久久免费国产精品热| 久久99国产精品二区不卡| 2021精品国产综合久久| 狠狠色丁香婷婷综合久久来| 日本一区精品久久久久影院| 久久精品女人天堂AV麻| 久久青青色综合|