Unity 面試題匯總(四)

Unity性能優(yōu)化

1.lod是什么,優(yōu)缺點(diǎn)是什么

LOD技術(shù)即 Levels of Detail 的簡(jiǎn)稱(chēng),意為多細(xì)節(jié)層次隧甚。LOD 技術(shù)指根據(jù)物體模型的節(jié)點(diǎn)在顯示環(huán)境中所處的位置和重要度代赁,決定物體渲染的資源分配缆镣,降低非重要物體的面數(shù)和細(xì)節(jié)度,從而獲得高效率的渲染運(yùn)算犹赖。

優(yōu)點(diǎn):可根據(jù)距離動(dòng)態(tài)地選擇渲染不同細(xì)節(jié)的模型

缺點(diǎn):加重美工的負(fù)擔(dān)队他,要準(zhǔn)備不同細(xì)節(jié)的同一模型,同樣的會(huì)稍微增加游戲的容量峻村。

2.MipMap是什么麸折?作用?

在三維計(jì)算機(jī)圖形的貼圖渲染中有一個(gè)常用的技術(shù)被稱(chēng)為Mipmapping粘昨。為了加快渲染速度和減少圖像鋸齒垢啼,貼圖被處理成由一系列被預(yù)先計(jì)算和優(yōu)化過(guò)的圖片組成的文件,這樣的貼圖被稱(chēng)為 MIP map 或者 mipmap。

3.當(dāng)游戲中需要頻繁創(chuàng)建一個(gè)物體對(duì)象時(shí)张肾,我們需要怎么做來(lái)節(jié)省內(nèi)存芭析。

做一個(gè)pool,游戲開(kāi)始時(shí)預(yù)先實(shí)例化足夠的數(shù)量吞瞪,然后用的時(shí)候取不用的時(shí)候收回

4.如何優(yōu)化內(nèi)存馁启?

有很多種方式,例如

1.壓縮自帶類(lèi)庫(kù)芍秆;

2.將暫時(shí)不用的以后還需要使用的物體隱藏起來(lái)而不是直接 Destroy 掉惯疙;

3.釋放 AssetBundle 占用的資源;

4.降低模型的片面數(shù)妖啥,降低模型的骨骼數(shù)量霉颠,降低貼圖的大小荆虱;

5.使用光照貼圖掉分,使用多層次細(xì)節(jié)(LOD),使用著色器(Shader)克伊,使用預(yù)設(shè)(Prefab)酥郭。

5.動(dòng)態(tài)加載資源的方式?和區(qū)別

1.通過(guò) Resources 模塊愿吹,調(diào)用它的 load 函數(shù):可以直接 load 并返回某個(gè)類(lèi)型的 Object不从,前提是要把這個(gè)資源放在 Resource 命名的文件夾下,Unity不關(guān)有沒(méi)有場(chǎng)景引用犁跪,都會(huì)將其全部打入到安裝包中椿息。Resources.Load();

2.通過(guò) bundle 的形式: 即將資源打成 asset bundle 放在服務(wù)器或本地磁盤(pán)歹袁, 然后使用 WWW 模塊 get 下來(lái), 然后從這個(gè) bundle 中 load 某個(gè) object寝优。

AssetBundle

3.通過(guò) AssetDatabase.loadasset :這種方式只在 editor 范圍內(nèi)有效条舔,游戲運(yùn)行時(shí)沒(méi)有這個(gè)函數(shù), 它通常是在開(kāi)發(fā)中調(diào)試用的 【AssetDatabase 資源數(shù)據(jù)庫(kù)】

區(qū)別:Resources的方式需要把所有資源全部打入安裝包乏矾,這對(duì)游戲的分包發(fā)布(微端)和版本升級(jí)(patch)是不利的孟抗,所以 unity 推薦的方式是不用它, 都用 bundle 的方式替代钻心, 把資源達(dá)成幾個(gè)小的 bundle凄硼, 用哪個(gè)就 load哪個(gè),這樣還能分包發(fā)布和 patch捷沸,但是在開(kāi)發(fā)過(guò)程中摊沉,不可能沒(méi)更新一個(gè)資源就打一次 bundle, 所以 editor 環(huán)境下可以使用 AssetDatabase 來(lái)模擬痒给,這通常需要我們封裝一個(gè) dynamic resource 的 loader 模塊说墨,在不同的環(huán)境下做不同實(shí)現(xiàn)。

動(dòng)態(tài)資源的存放

有時(shí)我需要存放一些自己的文件在磁盤(pán)上苍柏,例如我想把幾個(gè)bundle放在初始的安裝里婉刀, unity 有一個(gè) streaming asset 的概念,用于提供存儲(chǔ)接口的訪問(wèn)序仙。我們需要在編輯器建立一個(gè) StreamingAssets 名字的文件夾突颊,把需要我們放在客戶磁盤(pán)上的動(dòng)態(tài)文件放在這個(gè)文件夾下面,這樣安裝后潘悼,這些文件會(huì)放在用戶磁盤(pán)的指定位置律秃,這個(gè)位置可以通過(guò)Application.streamingAssetsPath 來(lái)得到。

6.請(qǐng)簡(jiǎn)述一下對(duì)象池原理,什么情況下使用治唤?

對(duì)象池背后的理念其實(shí)是非常簡(jiǎn)單的棒动。我們將對(duì)象存儲(chǔ)在一個(gè)池子中,當(dāng)需要時(shí)在再次使用宾添,而不是每次都實(shí)例化一個(gè)新的對(duì)象船惨。池的最重要的特性,也就是對(duì)象池設(shè)計(jì)模式的本質(zhì)是允許我們獲取一個(gè)“新的”對(duì)象而不管它真的是一個(gè)新的對(duì)象還是循環(huán)使用的對(duì)象缕陕。

對(duì)象池通常用于在那些需要經(jīng)常創(chuàng)建又銷(xiāo)毀的對(duì)象比如我們場(chǎng)景中的小怪粱锐,經(jīng)常需要?jiǎng)?chuàng)建和銷(xiāo)毀,我們就可以在小怪銷(xiāo)毀的時(shí)候扛邑,不真正的銷(xiāo)毀而是怜浅,而是把它放入對(duì)象池中等到下一次我們需要?jiǎng)?chuàng)建小怪的時(shí)候,再?gòu)膶?duì)象池中取出來(lái)。

7.使用mipmap有什么好處恶座?什么情況下使用搀暑?

Mipmap紋理技術(shù)是目前解決紋理分辨率與視點(diǎn)距離關(guān)系的最有效途徑,它會(huì)先將圖片壓縮成很多逐漸縮小的圖片,例如一張64*64的圖片,會(huì)產(chǎn)生 64*64,32*32,16*16,8*8,4*4,2*2,1*1的7張圖片,當(dāng)屏幕上需要繪制像素點(diǎn)為20*20 時(shí),程序只是利用 32*32 和 16*16 這兩張圖片來(lái)計(jì)算出即將顯示為 20*20 大小的一個(gè)圖片跨琳,這比單獨(dú)利用 32*32 的那張?jiān)计?jì)算出來(lái)的圖片效果要好得多自点,速度也更快。

8.Unity內(nèi)存優(yōu)化脉让?

GC垃圾回收

9.你認(rèn)為unity在開(kāi)發(fā)過(guò)程中哪些地方比較容易造成內(nèi)存泄漏和內(nèi)存泄漏問(wèn)題桂敛?如何避免?

腳本做載入不刪除處理時(shí)侠鳄,往往腳本中還有一些不用的變量,容易導(dǎo)致內(nèi)容泄漏

10.用NGUI開(kāi)發(fā)滾動(dòng)視圖死宣,當(dāng)滾動(dòng)列表達(dá)到幾百條的時(shí)候伟恶,如何才能保證界面的滾動(dòng)流暢運(yùn)行

1.每個(gè)滾動(dòng)條目都是同一個(gè)預(yù)設(shè)體的實(shí)例

2.做緩存,只要實(shí)例化視野范圍內(nèi)滾動(dòng)條目毅该,往上超出視野部分博秫,自動(dòng)填補(bǔ)到視野的下面

11.如何解決過(guò)多創(chuàng)建和刪除對(duì)象帶來(lái)的卡頓問(wèn)題

對(duì)象池,把不用對(duì)象緩存到一個(gè)對(duì)象列表中

12.Unity資源加載的有幾種方式眶掌,簡(jiǎn)述asset bundie

1.直接在腳本中public一個(gè)對(duì)象挡育,然后在監(jiān)視器面板進(jìn)行賦值

2.直接在程序中進(jìn)行find查找

3. Resource.load

4.把資源打成Assetbudle,然后用的時(shí)候load進(jìn)來(lái)

assetbundle就是對(duì)資源的打包處理朴爬,同時(shí)這種資源格式便于從互聯(lián)網(wǎng)上下載

13.背包系統(tǒng)中只有20個(gè)格子即寒,現(xiàn)在有總共有100個(gè)物體,除了顯示在視野中的20個(gè)外召噩,對(duì)其他的處理方法母赵?(注:將其他隱藏起來(lái)不可行,對(duì)象池得有具體的說(shuō)明)

1.每個(gè)滾動(dòng)條目都是同一個(gè)預(yù)設(shè)體的實(shí)例

2.做緩存具滴,只要實(shí)例化視野范圍內(nèi)滾動(dòng)條目凹嘲,往上超出視野部分,自動(dòng)填補(bǔ)到視野的下面

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末构韵,一起剝皮案震驚了整個(gè)濱河市周蹭,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌疲恢,老刑警劉巖凶朗,帶你破解...
    沈念sama閱讀 216,372評(píng)論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異显拳,居然都是意外死亡俱尼,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,368評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門(mén)萎攒,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)遇八,“玉大人矛绘,你說(shuō)我怎么就攤上這事∪杏溃” “怎么了货矮?”我有些...
    開(kāi)封第一講書(shū)人閱讀 162,415評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)斯够。 經(jīng)常有香客問(wèn)我囚玫,道長(zhǎng),這世上最難降的妖魔是什么读规? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,157評(píng)論 1 292
  • 正文 為了忘掉前任抓督,我火速辦了婚禮,結(jié)果婚禮上束亏,老公的妹妹穿的比我還像新娘铃在。我一直安慰自己,他們只是感情好碍遍,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,171評(píng)論 6 388
  • 文/花漫 我一把揭開(kāi)白布定铜。 她就那樣靜靜地躺著,像睡著了一般怕敬。 火紅的嫁衣襯著肌膚如雪揣炕。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,125評(píng)論 1 297
  • 那天东跪,我揣著相機(jī)與錄音畸陡,去河邊找鬼。 笑死虽填,一個(gè)胖子當(dāng)著我的面吹牛罩锐,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播卤唉,決...
    沈念sama閱讀 40,028評(píng)論 3 417
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼涩惑,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了桑驱?” 一聲冷哼從身側(cè)響起竭恬,我...
    開(kāi)封第一講書(shū)人閱讀 38,887評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎熬的,沒(méi)想到半個(gè)月后痊硕,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,310評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡押框,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,533評(píng)論 2 332
  • 正文 我和宋清朗相戀三年岔绸,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,690評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡盒揉,死狀恐怖晋被,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情刚盈,我是刑警寧澤羡洛,帶...
    沈念sama閱讀 35,411評(píng)論 5 343
  • 正文 年R本政府宣布,位于F島的核電站藕漱,受9級(jí)特大地震影響欲侮,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜肋联,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,004評(píng)論 3 325
  • 文/蒙蒙 一威蕉、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧橄仍,春花似錦韧涨、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,659評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)翘魄。三九已至鼎天,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間暑竟,已是汗流浹背斋射。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,812評(píng)論 1 268
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留但荤,地道東北人罗岖。 一個(gè)月前我還...
    沈念sama閱讀 47,693評(píng)論 2 368
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像腹躁,于是被迫代替她去往敵國(guó)和親桑包。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,577評(píng)論 2 353