
Unity2021LTS版本優(yōu)化了游戲工作室對(duì)于執(zhí)行大型項(xiàng)目所需的功能 。 現(xiàn)在Unity支持用戶(hù)自定義內(nèi)存分配方式 。
什么是內(nèi)存分配器定制化?
Unity使用三個(gè)內(nèi)存管理層來(lái)處理應(yīng)用程序中的內(nèi)存:
l 托管內(nèi)存
l C#非托管內(nèi)存
l 本地內(nèi)存
在Unity內(nèi)部有不同的方式來(lái)分配本機(jī)內(nèi)存 , 我們稱(chēng)之為分配器 。 本篇文章將關(guān)注兩點(diǎn)為大家做詳細(xì)介紹:
The bucket allocator , 它將大小類(lèi)似的小配置分組到共享內(nèi)存塊中 。 這一過(guò)程非常快 , 并且被廣泛使用 , 但The bucket allocator有硬編碼限制其增量大小 。
Dynamic heap allocator , 這是一個(gè)通用分配器 , 用于大多數(shù)Unity本機(jī)內(nèi)存分配 。 它比The bucket allocator的處理過(guò)程慢 , 因?yàn)樗枰幚碓S多不同的情況 。
當(dāng)我們從內(nèi)存管理系統(tǒng)請(qǐng)求新內(nèi)存時(shí) , 我們首先需要檢查其大小 。 如果它小于某個(gè)閾值 , 我們就向The bucket allocator請(qǐng)求內(nèi)存 。 一旦The bucket allocator被填滿(mǎn) , 我們?nèi)匀恍枰獜哪硞€(gè)地方分配內(nèi)存 , 所以這些小配置將從Dynamic heap allocator中被調(diào)用 。 退回到Dynamic heap allocator的過(guò)程比較慢 , 并且向Dynamic heap allocator中添加大量小配置會(huì)導(dǎo)致Dynamic heap碎片的增加 。
案例:定制內(nèi)存幫助游戲《Ori and the Will of the Wisp》登陸任天堂Switch
2020年夏天 , 當(dāng)Moon Studios在任天堂 Switch上發(fā)布《Ori and the Will of the Wisp》時(shí)Unity為他們提供了支持 。
Moon Studios和Unity加速解決方案(以前的Unity Professional Services)一起分析代碼段 , 找到了調(diào)整粒子系統(tǒng)和減少內(nèi)存使用的方法 。 “當(dāng)你在任天堂Switch上設(shè)定60 fps的目標(biāo)時(shí) , 你必須確保每個(gè)方面都得到優(yōu)化 , 包括模擬、流、渲染和圖形 , ”工作室創(chuàng)始人Gennadiy Korol說(shuō)道 。
《Ori and the Will of the Wisp》在內(nèi)存使用方面給任天堂Switch帶來(lái)很大壓力 。 Accelerate Solutions團(tuán)隊(duì)幫助Moon確保他們充分利用這些層 , 重點(diǎn)關(guān)注本地內(nèi)存分配 。
Unity團(tuán)隊(duì)與Moon Studios團(tuán)隊(duì)合作 , 測(cè)量了不同分配器的分配數(shù)量 。 他們還查看了從每個(gè)分配的內(nèi)存量 , 這表明游戲甚至在游戲開(kāi)始之前就填滿(mǎn)了bucket allocator 。
增加The bucket allocator的大小可以為玩游戲時(shí)發(fā)生的小配置提供額外的空間 。 從The bucket allocator分配這些小塊給游戲會(huì)得到性能提升 , 使游戲最終達(dá)到60 fps的目標(biāo) 。 當(dāng)實(shí)現(xiàn)目標(biāo)后小配置將不再來(lái)自Dynamic heap allocator , 所以這個(gè)分配器只包含大的內(nèi)存塊 。 分配器碎片更少 , 這使游戲能夠運(yùn)行更長(zhǎng)的時(shí)間 。
【任天堂switch|Unity 2021LTS添加定制內(nèi)存功能】在與Moon合作之后 , Unity Accelerate Solutions團(tuán)隊(duì)與優(yōu)化團(tuán)隊(duì)合作 , 后者開(kāi)發(fā)了內(nèi)存分配器定制功能 , 現(xiàn)已在2021年LTS上可用 。
相關(guān)經(jīng)驗(yàn)推薦
- 歐拉|神似任天堂Switch和3DS,蘋(píng)果公開(kāi)三款游戲手柄設(shè)計(jì)專(zhuān)利
- switch|索尼Xperia IV或因相機(jī)屏幕升級(jí)而漲價(jià) 加入高像素CMOS和LPTO技術(shù)
- switch|售價(jià)1599元的開(kāi)放式耳機(jī),CleerARC音弧值得買(mǎi)嗎?
- 增強(qiáng)現(xiàn)實(shí)|Magnopus使用Unity在迪拜世博會(huì)創(chuàng)造大規(guī)模增強(qiáng)現(xiàn)實(shí)體驗(yàn)
- 烏鎮(zhèn)|AMD官宣Xbox支持FSR2.0! 下一個(gè)輪到switch?
- switch|iPad OS將迎來(lái)3大改動(dòng),iPad Air5更香了
- OLED|Switch OLED版究竟會(huì)不會(huì)燒屏?這下有最終答案了,放心買(mǎi)
- 摩托羅拉|還在死撐! Switch會(huì)員App更新2.0.0版本
- 銳龍|5299元!國(guó)產(chǎn)銳龍版掌機(jī)上市:性能比Switch強(qiáng)多了
- 任天堂switch|為什么市面上白色手機(jī)少?業(yè)內(nèi)高管透露原因,想做好并不簡(jiǎn)單
