UnityDOD該如何理解

這期內(nèi)容當(dāng)中小編將會給大家?guī)碛嘘P(guān)Unity DOD該如何理解,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

成都創(chuàng)新互聯(lián)公司專注于孟州網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠為您提供孟州營銷型網(wǎng)站建設(shè),孟州網(wǎng)站制作、孟州網(wǎng)頁設(shè)計(jì)、孟州網(wǎng)站官網(wǎng)定制、成都微信小程序服務(wù),打造孟州網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供孟州網(wǎng)站排名全網(wǎng)營銷落地服務(wù)。

什么是DOD

Unity實(shí)際上在做的大計(jì)劃,是一個在程序?qū)昧餍辛艘魂囎?最近越來越火的概念DOD (Data Oriented Design) 即 面向數(shù)據(jù)設(shè)計(jì). 他是與我們所熟知的OOD (Object Oriented Design) 即面向?qū)ο笤O(shè)計(jì)相對的概念. 目前的流行程度甚至于你用youtube一搜就會發(fā)現(xiàn):

Unity DOD該如何理解

在截圖里第一條搜索結(jié)果的Mike Acton大佬,目前正供職于Unity并且正是Unity的DOD改革主導(dǎo)者之一.然后第三條則是大名鼎鼎的吹哥在自己正在設(shè)計(jì)的新游戲語言開發(fā)直播里講解DOD.雖然我認(rèn)為還不至于說"OOP已死,DOD永生"這么極端,不過其紅火程度可見一斑.

Unity的DOD

Unity DOD該如何理解

說回Unity, 如圖,這是摘自Unity at GDC 2018上的一幀Slide, 表達(dá)了Unity DOD計(jì)劃的全貌.其全新的組成部分是從上到下是以下幾個:ECS, Job System, HPC#, Burst Compiler.

ECS

實(shí)例組件系統(tǒng),是編程思想的改變,從基于對象的運(yùn)作,改變?yōu)?quot;流水線式運(yùn)作"(我自己的比喻).雖然顯然破壞了"程序?qū)ΜF(xiàn)實(shí)的模擬"這樣美好的愿望,但是卻大大的增強(qiáng)了解耦性,可測性,擴(kuò)展性.并且天然是以下要描述的幾個組件的好伙伴~

Job System

Job System是Unity對CPU多核編程的應(yīng)用.通過把工作分散到CPU的各個核心上來大大提升運(yùn)行效率.而ECS跟他之間的搭配則是由于ECS的System部分天然是以批量處理為核心的,因此只要稍加改動,就可以轉(zhuǎn)變?yōu)榕康姆諮ob交到多核去處理.實(shí)現(xiàn)性能的提升.

HPC#

HPC#(High Perform C#)是Unity開發(fā)的一個C#子集,通過拋棄對象,指針,等高級特性,從語言層面加速性能. 截圖里沒有直接列出這個,但是NativeContainer是HPC#的一環(huán). 而由于ECS本身的去對象化,可見又是天然的好伙伴.

Burst Compiler

這又是Unity自己開發(fā)的,一個全新的快速編譯器,最重要的是由于不用考慮通用性,僅僅針對Unity,針對游戲,再配合HPC#, 使得性能有了更大的提升.由于牽扯到編譯器層面,這個部分我的理解是最薄弱的,如有錯誤敬請指正.

在官方Unity DOD教程里則給出了經(jīng)典方式同屏18000單位,DOD方式104000單位的近乎6倍的性能提升.當(dāng)然我們的實(shí)際游戲會基于游戲內(nèi)容的不同,以及組件的復(fù)雜性未必能有這樣的極端結(jié)果,但我想2-3倍的性能提升還是可以預(yù)期的.

學(xué)習(xí)材料

然后就是最主要的目前階段如何學(xué)習(xí)了. 通過這兩周的學(xué)習(xí),我的認(rèn)識是:目前的學(xué)習(xí)材料雜亂無章并且容易過期.原因很簡單就是現(xiàn)在都只是在preview階段,很多東西都在快速變更中,尤其API里,對一個需求還會存在多種實(shí)現(xiàn)方式,官方希望在試用者們的反饋下最終再確定到其中一種,因此你現(xiàn)在寫的代碼和看的教程很可能會很快無效.甚至18年下半年的大會上出現(xiàn)的一些代碼標(biāo)簽,都已經(jīng)和上半年的不一樣了. 官方也顯然沒有精力維護(hù)一個系統(tǒng)性的教學(xué).因此我認(rèn)為我把我現(xiàn)在所學(xué)到的材料按照我自己認(rèn)為合適的學(xué)習(xí)曲線去歸納一下并且排序列出是非常有必要的.

單元測試

最后說一下單元測試,這個東西在游戲界爭議很大,我個人是站在一定要有單元測試這一派的,而Unity官方也是提供全面的單元測試的.因此新的UnityDOD如何進(jìn)行單元測試,主要的學(xué)習(xí)來源就是Unity的源碼了. 在Package Manager里提供的預(yù)覽版Entities里有官方自己的單元測試,這就是首要的很好的測試學(xué)習(xí)來源.再有就是剛才說的Unity Tiny模式項(xiàng)目也有比較全的單元測試.

上述就是小編為大家分享的Unity DOD該如何理解了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

名稱欄目:UnityDOD該如何理解
轉(zhuǎn)載來源:http://muchs.cn/article36/ipissg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供動態(tài)網(wǎng)站、自適應(yīng)網(wǎng)站、面包屑導(dǎo)航、云服務(wù)器、軟件開發(fā)、全網(wǎng)營銷推廣

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站建設(shè)