成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

游戲開發者需要注意的4個內存使用問題

移動開發 游戲開發
從銷售角度來看,你的全新手機游戲總是應該適用于今天人們所使用的大多數設備。“大多數設備”可能會讓開發者感到驚訝。在2015年1月,世界各地的手機用戶數已經達到36億人。所以開發者的工作便是讓游戲/應用能夠適應這些設備的種種硬件約束條件。開發者們在開發像游戲等需要耗費內存的軟件時需要進行更多思考。通過編寫這篇文章,我希望能夠幫助一些不了解技術的人進一步理解一些內存問題,而這也是他們在致力于2D游戲項目時需要考慮的內容。

[[151106]]

作者:Aditya Kulkarni

從銷售角度來看,你的全新手機游戲總是應該適用于今天人們所使用的大多數設備。“大多數設備”可能會讓開發者感到驚訝。在2015年1月,世界各地的手機用戶數已經達到36億人。所以開發者的工作便是讓游戲/應用能夠適應這些設備的種種硬件約束條件。開發者們在開發像游戲等需要耗費內存的軟件時需要進行更多思考。通過編寫這篇文章,我希望能夠幫助一些不了解技術的人進一步理解一些內存問題,而這也是他們在致力于2D游戲項目時需要考慮的內容。

1)內存泄露:內存泄露指的是未被釋放的分配內存塊。

類比:讓我們想象你在一個擁有3個方形儲物柜的房間尋找一個儲物柜。

[[151107]]

lockers(from gamecareerguide)

1.John和Danny“需要”儲存自己的裝備,而一個儲物柜便足以滿足他們每個人。所以現在我們擁有2個已被使用的儲物柜,以及1個閑置的儲物柜。

2.這時候John需要儲存他的頭盔,并且不再需要他之前儲存的裝備。所以現在最理想的情況是他應該拿出之前的裝備并將頭盔裝進去。但是他卻向管理者請求另一個儲物柜并希望將頭盔放在全新儲物柜中。從邏輯上看,在這之后所有的儲物柜便都滿了。而現在的John會忘記自己儲存在***個儲物柜中的裝備。

3.現在Danny需要儲存2個頭盔并需要2個儲物柜,所以他決定拿掉自己的裝備并空出1個儲物柜。然后他向管理者申請了一個新的儲物柜,但是因為所有儲物柜都滿了所以遭到了管理者的拒絕。

在這里,即使John從儲物柜中拿掉無用的裝備,Danny也不能再使用多出來的儲存空間。

2)相同紋理的多個例子:一個紋理將占用寬度*高度*4(游戲邦注:紅色,綠色,藍色和透明度各占據1個字節)的儲存空間。所以一張512×512規格的圖像將占據1.05兆的內存。而同樣的紋理將占據其3倍的儲存空間,也就是3.15兆。所以如果我們想要使用這些圖像作為紋理的話我們便需要準備多出3倍的內存。

類比:讓我們以一張呈現出你最喜歡的角色“buttman”并且不能***次使用的方形貼紙為例。

[[151108]]

sticker(from gamecareerguide)

你需要將這個新角色呈現給3個不同的人。所以你能夠:

1.獲得2張一樣的貼紙,獲得3個木質框架能夠在上面貼貼紙,并且你將把這些木制框架遞交給那3個人。

2.讓那3個人去獲得屬于自己的木制框架并讓他們將貼紙貼到框架上。

第2個例子適合我們,因為我們可以反復使用同樣的貼紙。這也適用于軟件程序中,即所有人可以同時想到buttman。

3)不必要的迭代:比起多次調用,在資源中調用for/while循環更簡單。你可以在一個循環中處理多個任務。

類比:你是一個間諜,并需要向3個遙遠的不同場所運輸包裹。并且你需要從這3個不同場所的不同boss那收集到重要的秘密信息。

因為你是從不同boss那接到這些任務,所以你可以:

1.根據不同boss去分配你的任務。例如你可以駕車前往所有的這3個場所并先完成boss A所分配的任務,然后再駕車前往同樣的3個場所完成Boss B所分配的任務。反之亦然。

2.根據不同場所去分配你的任務。例如你可以先駕車前往***個場所,遞交包裹并獲得信息,然后再駕車前往下個場所。

如果你所制定的任務計劃是像第1種情況那樣的話你便是一個愚蠢的間諜,因為你需要花費更多時間和資源去完成同樣的任務。

4)在內存中保留未使用的對象:任何時候都只有一定的對象能夠被使用或出現在屏幕上。因為我們擁有優先的內存空間,所以任何被留在內存里的額外對象都是在耗費資源。

類比:你需要將一輛馬車從A點推到B點。讓我們假設如果馬車未負載任何東西或者載著最輕的東西,這便是一個較簡單的任務。但是因為你喜歡啤酒,所以你選擇用馬車去載一桶啤酒,從而加重了自己任務的難度。

所以在這里的***解決方法便是放棄你所深愛的啤酒。

這里所列出的問題絕對超過我在一篇文章中能夠寫下的內容。作為一名開發者,你應該盡快識別這些問題并使用有效的解決方法。先克服這些挑戰再發行產品是真正讓人興奮的游戲開發過程。每個人每一天只擁有24個小時。對于我們而言,人們能夠花費這些寶貴的時間去嘗試我們所創造的內容便是推動著我們去開發游戲的***動力。

責任編輯:倪明 來源: 游戲邦
相關推薦

2009-04-07 11:24:16

Java開發注意事項

2011-05-16 16:11:21

java

2013-08-13 09:44:42

iOS 7開發者

2016-12-26 18:51:34

AndroidJavascriptJSONObject

2023-10-04 00:03:00

SQL數據庫

2015-05-14 14:28:52

2024-05-16 15:15:14

2011-07-21 15:40:24

iPhone 內存管理 對象

2012-07-04 14:40:37

Ajax

2010-12-31 09:14:36

MongoDB

2023-07-27 18:39:20

低代碼開發編碼

2015-09-28 11:13:50

2016-11-24 15:54:06

androidJSONObject

2016-03-23 09:46:40

移動前段開發

2013-06-28 14:19:20

2013-07-16 10:49:17

游戲開發手機游戲

2013-09-29 10:36:08

VMware虛擬化

2009-04-23 14:30:19

UML建模

2020-10-26 14:01:22

Java泛型

2021-02-05 17:35:07

數據高管CIO技術
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日韩中文字幕在线观看 | 一区二区三区国产精品 | 成人在线免费视频 | 一级一级一级毛片 | 91性高湖久久久久久久久_久久99 | 日韩2020狼一二三 | 日本午夜网 | 日韩欧美中文字幕在线视频 | 亚洲精品一区二区三区中文字幕 | 九九九久久国产免费 | 久久久免费毛片 | 国产黄色网址在线观看 | 在线免费观看视频黄 | 久久小视频 | 亚洲v日韩v综合v精品v | 天天操人人干 | 青青草一区二区 | 成年人黄色免费视频 | 日韩在线免费视频 | 中文字幕第二区 | 国产在线中文字幕 | 在线观看视频亚洲 | 日本成人片在线观看 | 一区二区三区四区电影视频在线观看 | 日韩欧美国产一区二区 | 亚洲日产精品 | 久久网国产| 午夜小视频在线观看 | 欧美成人一级视频 | 超碰免费在线 | 老外黄色一级片 | 色男人的天堂 | 国产精品视频999 | 亚洲精品一区二区三区丝袜 | 亚洲一区二区三区在线视频 | 国产午夜视频 | 国产不卡在线观看 | 成人激情视频在线播放 | 超碰国产在线 | 久久精品黄色 | 国产精品区一区二 |