2016-01-13 143 views
-1

我在想什麼更高效。 1定時器,做很多或多個定時器,都做他們自己的小東西。1定時器vs多個定時器(異步)

所以需要什麼環境: 我爲Minecraft製作了一個插件,它與咒語有關,當玩家施放咒語時,我創造一個咒語的新實例,它必須做一些事情每一個滴答聲。 所以我想知道什麼是最好的,爲所有法術創建一個異步計時器,一旦完成,停止計時器,並清除所有對該法術的引用,以便它被垃圾收集器自動刪除。 或 創建咒語,將其放在我的處理程序中的靜態列表中,並讓處理程序有1個計時器來檢查每一個咒語。 (可以有超過200法術活躍在第二......但是這是最糟糕的情況之情況:P)

親切的問候, runefist

回答

0

我不知道我的世界遊程的細節但通常情況下,每個定時器都有開銷,通常在運行時將控制權交給您的代碼。所以一般來說,一個定時器比多個定時器更有效率。然而,Minecraft的實際實現可能會以某種不明確的,巧妙的方式緩解這種情況,但我懷疑這一點。

此外,即時創建資源並讓垃圾收集器處理這些資源也會爲您的配置增加額外的負載。

因此,單從性能角度來看,單個靜態計時器肯定會更有效。多少效率更高,以及額外的實施成本我無法分辨,並且可能會根據您現有的代碼而大幅變化。