[分享] 減少物件數量 入門篇

回覆文章
jrealm
系統管理員
文章: 1084
註冊時間: 2014-03-31, 23:10

[分享] 減少物件數量 入門篇

文章 jrealm » 2017-07-02, 02:29

mudos 運作時, 會對系統內建立的物件進行管理, 如 clean_up/reset/heart_beat 等等
物件數量越多, 系統 loading 也就越重, 自然發生 lag 的情形就會比較頻繁

下面介紹一個觀念, 不用變更 mudos 與 mudlib 的架構
技術含量很低, 效果也只是普通, 所以稱之為入門篇 XD

--

延遲建立物件

簡單說, 就是只有在需要的時候才建立物件
盡量減少系統同一時間點的物件數量

--

例如 NPC 通常身上會放置一些任務道具, 或是金錢, 供擊殺者拾取

代碼: 選擇全部

inherit NPC;

void create() {

...中略

    // 當 NPC 建立時, 也建立金錢物件
    // 如果這隻 mob 沒沒無聞, 那身上的錢就會一直佔據系統的資源
    add_money("silver", 50);
}
稍微調整後

代碼: 選擇全部

inherit NPC;

void create() {

...中略

}

void die() {
    // 在 NPC 掛點後, 才建立金錢物件, 在此之前不佔用系統資源
    add_money("silver", 50);

    ::die();
}
這樣的調整, 對玩家來說是沒有任何感覺的
基本上也不會有任何副作用, 卻能有效降低系統 loading

回覆文章