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

更新 發佈閱讀 2 分鐘
raw-image

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

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

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

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

留言
avatar-img
留言分享你的想法!
avatar-img
Warren Lo的沙龍
22會員
70內容數
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
透過蝦皮分潤計畫,輕鬆賺取零用金!本文分享5-6月實測心得,包含數據流程、實際收入、平臺優點及注意事項,並推薦高分潤商品,教你如何運用空閒時間創造被動收入。
Thumbnail
透過蝦皮分潤計畫,輕鬆賺取零用金!本文分享5-6月實測心得,包含數據流程、實際收入、平臺優點及注意事項,並推薦高分潤商品,教你如何運用空閒時間創造被動收入。
Thumbnail
單身的人有些會養寵物,而我養植物。畢竟寵物離世會傷心,植物沒養好再接再厲就好了~(笑)
Thumbnail
單身的人有些會養寵物,而我養植物。畢竟寵物離世會傷心,植物沒養好再接再厲就好了~(笑)
Thumbnail
不知你有沒有過這種經驗?衛生紙只剩最後一包、洗衣精倒不出來,或電池突然沒電。這次一次補貨,從電池、衛生紙到洗衣精,還順便分享使用心得。更棒的是,搭配蝦皮分潤計畫,愛用品不僅自己用得安心,分享給朋友還能賺回饋。立即使用推薦碼 X5Q344E,輕鬆上手,隨時隨地賺取分潤!
Thumbnail
不知你有沒有過這種經驗?衛生紙只剩最後一包、洗衣精倒不出來,或電池突然沒電。這次一次補貨,從電池、衛生紙到洗衣精,還順便分享使用心得。更棒的是,搭配蝦皮分潤計畫,愛用品不僅自己用得安心,分享給朋友還能賺回饋。立即使用推薦碼 X5Q344E,輕鬆上手,隨時隨地賺取分潤!
Thumbnail
身為一個典型的社畜,上班時間被會議、進度、KPI 塞得滿滿,下班後只想要找一個能夠安靜喘口氣的小角落。對我來說,畫畫就是那個屬於自己的小樹洞。無論是胡亂塗鴉,還是慢慢描繪喜歡的插畫人物,那個專注在筆觸和色彩的過程,就像在幫心靈按摩一樣,讓緊繃的神經慢慢鬆開。
Thumbnail
身為一個典型的社畜,上班時間被會議、進度、KPI 塞得滿滿,下班後只想要找一個能夠安靜喘口氣的小角落。對我來說,畫畫就是那個屬於自己的小樹洞。無論是胡亂塗鴉,還是慢慢描繪喜歡的插畫人物,那個專注在筆觸和色彩的過程,就像在幫心靈按摩一樣,讓緊繃的神經慢慢鬆開。
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
《蔑視》是一款線性劇情的解謎遊戲,劇中講述著一個破敗文明的倖存者(或可說是產物)嘗試著讓自己對於文明做出最後的貢獻。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News