你知道為什麼遊戲裡被打倒的怪物要人間蒸發嗎?

更新 發佈閱讀 2 分鐘
vocus|新世代的創作平台

我前陣子在玩暗黑破壞神三這款遊戲時候,注意到被打倒的怪物們「瞬間」人間蒸發!遊戲這種「屍骨無存」方式處理被打倒的怪物們就是記憶體管理機制,是程式設計的時候一定會被拿出來討論的一門技術。

CPU <=- reading from and writing to -=> RAM

電腦的運作是中央處理器 CPU 負責計算,資料就放在記憶體 RAM 裡面。程式的運作就是不斷讀取記憶體、計算數據再寫入記憶體的過程。但我們都知道每一台電腦的記憶體不管配備幾十、幾百個 GB 記憶體都還是有上限的。你可以想像記憶體就像一間超大型百貨公司,電腦的作業系統 OS,例如:Windows,就是樓管,它會負責提供記憶體空間給進駐展櫃的程式們使用,並確保程式間的記憶體空間是不會互相干擾。遊戲程式拿到的記憶體空間你可以想像成一個有很多格子的盒子,用來存放所有被創造出來的元件,包含我們的角色、環境與成群的怪物們的數據。因此遊戲的畫面越精緻、產生的物件跟怪物數量越多的話,格子被填滿的速度越快。遊戲為了有源源不絕的怪物出現,就必須處理被打倒的怪物們,「盡快」把佔用的記憶體空間回收回來,否則盒子就會很快爆滿,導致記憶體耗盡的錯誤,造成「當機」、「閃退」、「不斷重啟」等不穩定的結果,好不容易打到的進度就沒了。

近幾年發展的程式語言,像是 Java, C# 等,都有配備很好 GC 垃圾回收的機制,已經不太需要程式設計師自己手動管理記憶體,程式穩定度提升。有垃圾處理機制不代表問題消失,還是要幫自己建立良好的程式寫作習慣,解構用不到的物件讓垃圾處理機制發揮作用才是更好的作法。

留言
avatar-img
Warren Lo的沙龍
33會員
98內容數
WarrenLo's 軟體設計武功祕笈
Warren Lo的沙龍的其他內容
2024/09/25
當我們從事軟體開發工作一段時間後,有些人會開始接觸軟體架構設計。由於每個軟體架構設計者的對問題的理解與知識經驗差異會導出不同的設計架構。近期與同事的軟體設計案例經驗交流後,就很希望自己剛開始學習軟體架構設計的時候就有人能用實際的軟體架構設計經驗來帶我入門...
Thumbnail
2024/09/25
當我們從事軟體開發工作一段時間後,有些人會開始接觸軟體架構設計。由於每個軟體架構設計者的對問題的理解與知識經驗差異會導出不同的設計架構。近期與同事的軟體設計案例經驗交流後,就很希望自己剛開始學習軟體架構設計的時候就有人能用實際的軟體架構設計經驗來帶我入門...
Thumbnail
2024/07/02
如果你也是從事軟體相關工作的人,一定會遭遇突然需要你去學習一套你不熟悉的程式語言狀況吧,此時你會怎麼做呢? 是趕快去買書來看嗎? 還是趕快找一門程式課來上? 又或者乾脆去找會的同事來教學?
Thumbnail
2024/07/02
如果你也是從事軟體相關工作的人,一定會遭遇突然需要你去學習一套你不熟悉的程式語言狀況吧,此時你會怎麼做呢? 是趕快去買書來看嗎? 還是趕快找一門程式課來上? 又或者乾脆去找會的同事來教學?
Thumbnail
2024/04/08
經過這麼多年的觀察與實踐,一個成熟的軟體工程師還需要第四個要素,它是讓決定你通往熟手的重要關鍵沒有之一。
Thumbnail
2024/04/08
經過這麼多年的觀察與實踐,一個成熟的軟體工程師還需要第四個要素,它是讓決定你通往熟手的重要關鍵沒有之一。
Thumbnail
看更多
你可能也想看
Thumbnail
一、了解思維 二、大量體驗 三、拆解架構 四、找出樂趣
Thumbnail
一、了解思維 二、大量體驗 三、拆解架構 四、找出樂趣
Thumbnail
這篇文章將會簡單講述預輸入這件事情。
Thumbnail
這篇文章將會簡單講述預輸入這件事情。
Thumbnail
在數創整合與作品集結束以後加速完工的專題作品,這篇文章將會講述遊戲類型概述與技術層面的成長。
Thumbnail
在數創整合與作品集結束以後加速完工的專題作品,這篇文章將會講述遊戲類型概述與技術層面的成長。
Thumbnail
《轉轉生》(Re:INCARNATION)為奈及利亞編舞家庫德斯.奧尼奎庫與 Q 舞團創作的當代舞蹈作品,結合拉各斯街頭節奏、Afrobeat/Afrobeats、以及約魯巴宇宙觀的非線性時間,建構出關於輪迴的「誕生—死亡—重生」儀式結構。本文將從約魯巴哲學概念出發,解析其去殖民的身體政治。
Thumbnail
《轉轉生》(Re:INCARNATION)為奈及利亞編舞家庫德斯.奧尼奎庫與 Q 舞團創作的當代舞蹈作品,結合拉各斯街頭節奏、Afrobeat/Afrobeats、以及約魯巴宇宙觀的非線性時間,建構出關於輪迴的「誕生—死亡—重生」儀式結構。本文將從約魯巴哲學概念出發,解析其去殖民的身體政治。
Thumbnail
《蔑視》是一款線性劇情的解謎遊戲,劇中講述著一個破敗文明的倖存者(或可說是產物)嘗試著讓自己對於文明做出最後的貢獻。
Thumbnail
《蔑視》是一款線性劇情的解謎遊戲,劇中講述著一個破敗文明的倖存者(或可說是產物)嘗試著讓自己對於文明做出最後的貢獻。
Thumbnail
本文分析導演巴里・柯斯基(Barrie Kosky)如何運用極簡的舞臺配置,將布萊希特(Bertolt Brecht)的「疏離效果」轉化為視覺奇觀與黑色幽默,探討《三便士歌劇》在當代劇場中的新詮釋,並藉由舞臺、燈光、服裝、音樂等多方面,分析該作如何在保留批判核心的同時,觸及觀眾的觀看位置與人性幽微。
Thumbnail
本文分析導演巴里・柯斯基(Barrie Kosky)如何運用極簡的舞臺配置,將布萊希特(Bertolt Brecht)的「疏離效果」轉化為視覺奇觀與黑色幽默,探討《三便士歌劇》在當代劇場中的新詮釋,並藉由舞臺、燈光、服裝、音樂等多方面,分析該作如何在保留批判核心的同時,觸及觀眾的觀看位置與人性幽微。
Thumbnail
這篇文章將會講述遊戲內與遊戲外的規則是如何誕生,並且如何應用進遊戲設計的領域。
Thumbnail
這篇文章將會講述遊戲內與遊戲外的規則是如何誕生,並且如何應用進遊戲設計的領域。
Thumbnail
而此次要介紹《Save Room》,遊戲的開發者很顯然受到《惡靈古堡4》的啟發(或是受到無盡的折磨),才做出了這款沒有任何故事、沒有任何華麗冒險、沒有任何戰鬥,只有物品欄管理機制的遊戲!
Thumbnail
而此次要介紹《Save Room》,遊戲的開發者很顯然受到《惡靈古堡4》的啟發(或是受到無盡的折磨),才做出了這款沒有任何故事、沒有任何華麗冒險、沒有任何戰鬥,只有物品欄管理機制的遊戲!
Thumbnail
這是一場修復文化與重建精神的儀式,觀眾不需要完全看懂《遊林驚夢:巧遇Hagay》,但你能感受心與土地團聚的渴望,也不急著在此處釐清或定義什麼,但你的在場感受,就是一條線索,關於如何找著自己的路徑、自己的聲音。
Thumbnail
這是一場修復文化與重建精神的儀式,觀眾不需要完全看懂《遊林驚夢:巧遇Hagay》,但你能感受心與土地團聚的渴望,也不急著在此處釐清或定義什麼,但你的在場感受,就是一條線索,關於如何找著自己的路徑、自己的聲音。
Thumbnail
遊戲這種「屍骨無存」方式處理被打倒的怪物們就是記憶體管理機制,是程式設計的時候一定會被拿出來討論的一門技術。
Thumbnail
遊戲這種「屍骨無存」方式處理被打倒的怪物們就是記憶體管理機制,是程式設計的時候一定會被拿出來討論的一門技術。
Thumbnail
背景:從冷門配角到市場主線,算力與電力被重新定價   小P從2008進入股市,每一個時期的投資亮點都不同,記得2009蘋果手機剛上市,當時蘋果只要在媒體上提到哪一間供應鏈,隔天股價就有驚人的表現,當時光學鏡頭非常熱門,因為手機第一次搭上鏡頭可以拍照,也造就傳統相機廠的殞落,如今手機已經全面普及,題
Thumbnail
背景:從冷門配角到市場主線,算力與電力被重新定價   小P從2008進入股市,每一個時期的投資亮點都不同,記得2009蘋果手機剛上市,當時蘋果只要在媒體上提到哪一間供應鏈,隔天股價就有驚人的表現,當時光學鏡頭非常熱門,因為手機第一次搭上鏡頭可以拍照,也造就傳統相機廠的殞落,如今手機已經全面普及,題
Thumbnail
覺得是需要來記錄一下,輸出才是好的整理學習的方式! 也能檢視一下整個過程! 這是個透過各式主題,讓大家,尤其是很少接觸的人,知道桌遊原來有這麼多面向,引起更多人的興趣! 老早就討論好了很多桌遊主題,但這次還是有了基本的遊戲問題,以前都是曝光度的問題XD。 那到底是怎樣的問題,差點讓活動變得2
Thumbnail
覺得是需要來記錄一下,輸出才是好的整理學習的方式! 也能檢視一下整個過程! 這是個透過各式主題,讓大家,尤其是很少接觸的人,知道桌遊原來有這麼多面向,引起更多人的興趣! 老早就討論好了很多桌遊主題,但這次還是有了基本的遊戲問題,以前都是曝光度的問題XD。 那到底是怎樣的問題,差點讓活動變得2
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News