Gamebryo2 5引擎評估報告

2021-09-08 21:29:05 字數 3401 閱讀 7579

1.       gamebryo 2.5 引擎新增特性

1.1.       開發工具方面

1.1.1.      

場景編輯器

1)新增地形編輯功能,被整合到了gamebryo的場景編輯器中;

2)支援動態lod;

3)可選擇的整合idv speedtree® ;

4)支援貼圖,貼花,碰撞檢測,meta-data,基本的變形能力,基本的水的建立。

5)提供跨平台的支援:pc (directx®9), xbox 360™ and playstation®3

6)提供了terraindemo 幫助開發者快速使用。

測試結果:

在測試環境8600gt core6600 2.4mhz雙核 記憶體2g下,測試工具pix,其

fps 為135,dp 為 117。

1.1.2.       動畫編輯器

1.1.3.       模型檢視器

模型檢視器(assetviewer)已經不能對2.2版本的nif檔案做支援了,因為nif檔案格式發生了變化。

1.1.4.       匯出外掛程式

3dmax

匯出外掛程式支援3dmax 8.0及以上版本的外掛程式,低版本不支援了,maya外掛程式沒裝,沒有相關資訊。

1.2       圖形引擎渲染技術方面

1.2.1.      

軟粒子支援軟粒子 (soft particles)

粒子系統可以支援shader了(定製的效果能夠被加到粒子上)。

1.2.2.       陰影系統

gamebryo 2.5

陰影系統已經作為乙個模組整合到引擎中如(nishadowmap , nishadowmanager),

在此版本之前,shadow map 只是引擎提供的乙個例子,並沒有整合化。

1.3.       通用技術方面

1.3.1.       floodgate

floodgate

是乙個跨平台的流資料處理的解決方案,它能發揮多核平台下多執行緒之間資料流互動的效能。它能在不同的遊戲平台快速簡單的開發多處理器程式,發揮處理器與記憶體的之間資料交換的最大效能。不過需要程式設計師對floodgate開發模式有個了解。

floodgate 在 gamebryo2.5版本的運用主要有以下幾個方面的特性:

1)執行緒排程所需要的資源占用大幅度降低

2)更多彈性以滿足執行時資源配置

3)顯著減少總的記憶體占用

4)mesh修改器在gamebryo執行時和floodgate被重新整合。

5)gamebryo使用mesh修改器做變形,骨骼動作,粒子等效果能在gamebryo2.5自動的通過floodgate執行。

具體表現請看下面的例子測試

小丑魚例子:這個例子主要演示了在floodgate技術和新增加的mesh修改器的作用下下角色頂點動畫的效率提公升(210條魚,140多萬面在 的模型頂點實時修改的情況下fps為40楨,調整動畫速度對效率影響不大,總體看來效能表現上已經讓人比較滿意,遊戲中的數量級很難達到這個量。如在粒子系統中也很少能達到這個量的修改。)

meshcreation這個例子展示的東西比較多,主要是地型,軟粒子和多麵片水,雖然都不是多高深的技術,但之前沒有mesh修改器,就2.2版提供的介面在效率上消耗太大。

meshinstancing instance技術在目前遊戲中的應用是非常廣泛的可以大大提高效能,2.5版本裡提供了gpu instance還是很不錯的,就例子測試看來,這個例子的效能提公升情況如下:

2500個instance基於gpu 平均fps 30

1.3.2.       幾何系統

gamebryo 2.5

版本的幾何系統做了如下的變化:

1)滿足console遊戲的需求, 提供系統優化.

2)gamebryo地形類中不再使用固定資料格式

3)支援任意的資料語義來提高材質彈性

4)為效能和彈性支援更多最優化資料流安排

5)提供向後相容路徑以減少開發工作量

6)nidatastream物件可以直接裝載資料到renderer資源從而減少碎片

7)彈性的頂點資料格式允許針對console專案優化頻寬和記憶體占用

8)dcc工具或命令列控制的資料打包通過xml網格 profiles

9)nidatastream物件能夠包含gpu例項化的例項資料

10)幾何資料能被指派為任意的語義(不僅在於當前的好處,而且還為次世代準備)

11)語義通過一些易讀的shaders被對映至渲染語義

12)為了方便靈活的共享,資料能被打包成多個資料流

13)索引能使用16和32bit兩種模式。

2.       gamebryo 2.5 引擎與gamebryo 2.2效能對比

2.1.      

渲染效率方面

同樣乙個模型,在gamebryo 2.2下的渲染fps為100 ,在gamebryo 2.5下為120 。

2.2.       射線選取效方面

2.5版本中對nipick進行了修改,估計是針對之前射線選取效率低下進行的,經過測試(測試環境同上,在除錯release版本下做100次的射線檢測平均時間為0.06秒),

之前2.2版本release版本下做100次射線檢測的平均時間為0.3秒,考慮到某些因素的差異,保守測試2.5版本的射線檢測比原來快5倍左右。

2.3.       floodgate對效能提公升的方面

floodgate

的技術是gamebryo 2.5版本最新的技術,floodgate對效能提公升的效果以characterperformancedemo例子。

同樣是演示floodgate在單執行緒與多執行緒在多核下的效率提公升(在60楨以下時,2個執行緒比乙個執行緒能平均提高楨數4楨左右,60楨以上時平均提公升10楨左右,另外這個資料與模型和骨骼數量有關,可以切換模型比較,另外可以換4核進行嘗試)

2.4.       多角色場景整體效能方面

在同樣乙個230個角色的場景中,同樣是兩個執行緒下,測試工具為pix ,測試環境為8600gt core6600 2.4mhz雙核 記憶體2g下:

gambryo 2.5 下的場景的fps為92.8,gambryo 2.2 為36,效能提高非常明顯。

3.gamebryo 2.5 引擎整體評價

在gamebryo 2.5 之前,用gamebryo 開發大型mmo比較困難,主要表現在以下幾個方面:

1)    沒有大型mmo必須的地形編輯器;

2)    沒有mesh修改器,很多渲染效果實現起來困難;

3)    整體效能很難達到大型mmo的標準。

通過評估發現,gamebryo 2.5 針對以上幾個問題做了比較好的處理,特別是第二,第三基本符合要求。對於第一點,gamebryo 2.5 還需要改進,因為地形編輯工具的功能和易用性尚未滿足要求。

總體來說,對於一直運用gamebryo引擎的遊戲開發者來說,把gamebryo引擎公升級到2.5版本的利大於弊。

v8引擎和v12引擎 深入V8引擎 AST 2

先宣告一下,這種長系列的大塊頭部落格只能保證盡可能的深入到每一行原始碼,有些 我不樂意深究就寫個注釋說明一下作用。另外,由於本地整理的比較好,部落格就隨心寫了。bool parseprogram parseinfo info,isolate isolate 所需要關心的核心 就是這些,非常簡單,pa...

SQL Server2008引擎元件

原文首發於it168,鏈結見 sqlserver2008引擎元件 首先讓我們先來看看sql server2008的引擎元件,sqlserver2008有四大元件 協議 關係引擎 儲存引擎和sqlos。協議層 protocol layer 當乙個應用程式與sql server資料庫引擎通訊時,協議層提...

SQL Server2008引擎元件

原文首發於it168,鏈結見 sqlserver2008引擎元件 首先讓我們先來看看sql server2008的引擎元件,sqlserver2008有四大元件 協議 關係引擎 儲存引擎和sqlos。協議層 protocol layer 當乙個應用程式與sql server資料庫引擎通訊時,協議層提...