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

更新於 發佈於 閱讀時間約 2 分鐘
raw-image

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

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

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

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

留言
avatar-img
留言分享你的想法!
avatar-img
Warren Lo的沙龍
21會員
68內容數
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
孩子寫功課時瞇眼?小心近視!這款喜光全光譜TIONE⁺光健康智慧檯燈,獲眼科院長推薦,網路好評不斷!全光譜LED、180cm大照明範圍、5段亮度及色溫調整、350度萬向旋轉,讓孩子學習更舒適、保護眼睛!
Thumbnail
孩子寫功課時瞇眼?小心近視!這款喜光全光譜TIONE⁺光健康智慧檯燈,獲眼科院長推薦,網路好評不斷!全光譜LED、180cm大照明範圍、5段亮度及色溫調整、350度萬向旋轉,讓孩子學習更舒適、保護眼睛!
Thumbnail
創作者營運專員/經理(Operations Specialist/Manager)將負責對平台成長及收入至關重要的 Partnership 夥伴創作者開發及營運。你將發揮對知識與內容變現、影響力變現的精準判斷力,找到你心中的潛力新星或有聲量的中大型創作者加入 vocus。
Thumbnail
創作者營運專員/經理(Operations Specialist/Manager)將負責對平台成長及收入至關重要的 Partnership 夥伴創作者開發及營運。你將發揮對知識與內容變現、影響力變現的精準判斷力,找到你心中的潛力新星或有聲量的中大型創作者加入 vocus。
Thumbnail
覺得是需要來記錄一下,輸出才是好的整理學習的方式! 也能檢視一下整個過程! 這是個透過各式主題,讓大家,尤其是很少接觸的人,知道桌遊原來有這麼多面向,引起更多人的興趣! 老早就討論好了很多桌遊主題,但這次還是有了基本的遊戲問題,以前都是曝光度的問題XD。 那到底是怎樣的問題,差點讓活動變得2
Thumbnail
覺得是需要來記錄一下,輸出才是好的整理學習的方式! 也能檢視一下整個過程! 這是個透過各式主題,讓大家,尤其是很少接觸的人,知道桌遊原來有這麼多面向,引起更多人的興趣! 老早就討論好了很多桌遊主題,但這次還是有了基本的遊戲問題,以前都是曝光度的問題XD。 那到底是怎樣的問題,差點讓活動變得2
Thumbnail
一、了解思維 二、大量體驗 三、拆解架構 四、找出樂趣
Thumbnail
一、了解思維 二、大量體驗 三、拆解架構 四、找出樂趣
Thumbnail
這篇文章將會簡單講述預輸入這件事情。
Thumbnail
這篇文章將會簡單講述預輸入這件事情。
Thumbnail
在數創整合與作品集結束以後加速完工的專題作品,這篇文章將會講述遊戲類型概述與技術層面的成長。
Thumbnail
在數創整合與作品集結束以後加速完工的專題作品,這篇文章將會講述遊戲類型概述與技術層面的成長。
Thumbnail
遊戲這種「屍骨無存」方式處理被打倒的怪物們就是記憶體管理機制,是程式設計的時候一定會被拿出來討論的一門技術。
Thumbnail
遊戲這種「屍骨無存」方式處理被打倒的怪物們就是記憶體管理機制,是程式設計的時候一定會被拿出來討論的一門技術。
Thumbnail
這篇文章將會講述遊戲內與遊戲外的規則是如何誕生,並且如何應用進遊戲設計的領域。
Thumbnail
這篇文章將會講述遊戲內與遊戲外的規則是如何誕生,並且如何應用進遊戲設計的領域。
Thumbnail
而此次要介紹《Save Room》,遊戲的開發者很顯然受到《惡靈古堡4》的啟發(或是受到無盡的折磨),才做出了這款沒有任何故事、沒有任何華麗冒險、沒有任何戰鬥,只有物品欄管理機制的遊戲!
Thumbnail
而此次要介紹《Save Room》,遊戲的開發者很顯然受到《惡靈古堡4》的啟發(或是受到無盡的折磨),才做出了這款沒有任何故事、沒有任何華麗冒險、沒有任何戰鬥,只有物品欄管理機制的遊戲!
Thumbnail
《蔑視》是一款線性劇情的解謎遊戲,劇中講述著一個破敗文明的倖存者(或可說是產物)嘗試著讓自己對於文明做出最後的貢獻。
Thumbnail
《蔑視》是一款線性劇情的解謎遊戲,劇中講述著一個破敗文明的倖存者(或可說是產物)嘗試著讓自己對於文明做出最後的貢獻。
Thumbnail
《吞食天地》以三國題材漫畫改編遊戲來說,是個非常有趣的案例。本宮廣志的原作漫畫自然經典,但實際上就根本沒有畫完;反而是以這部未完漫畫為基礎改編的遊戲,讓玩家們念念不忘。
Thumbnail
《吞食天地》以三國題材漫畫改編遊戲來說,是個非常有趣的案例。本宮廣志的原作漫畫自然經典,但實際上就根本沒有畫完;反而是以這部未完漫畫為基礎改編的遊戲,讓玩家們念念不忘。
Thumbnail
如果某家遊戲公司做的好,他們可能會把好故事分享給大家,那麼那些見不得光的「鬼故事」呢? 我就是來跟你分享這些「鬼故事」的,即使農曆七月還沒到......
Thumbnail
如果某家遊戲公司做的好,他們可能會把好故事分享給大家,那麼那些見不得光的「鬼故事」呢? 我就是來跟你分享這些「鬼故事」的,即使農曆七月還沒到......
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News