事件池化监听 ^1.3.0
常规的动态事件监听 ListenForEvent / UnListenForEvent 受框架及网易的复杂封装导致调度开销较大 在高频率使用时性能开销较大 因此诞生了池化事件组
python
from QuModLibs.Modules.EventsPool.Server import POOL_ListenForEvent, POOL_UnListenForEvent
# from QuModLibs.Modules.EventsPool.Client import POOL_ListenForEvent, POOL_UnListenForEvent
演示代码
python
from QuModLibs.Modules.EventsPool.Server import POOL_ListenForEvent, POOL_UnListenForEvent
def TEST_FUNC():
pass
for _ in range(100000): # 模拟高频场景
# 注: 该函数会自动判断重复 同一个回调函数不会在单个事件下注册多次
POOL_ListenForEvent("OnScriptTickServer", TEST_FUNC)
POOL_UnListenForEvent("OnScriptTickServer", TEST_FUNC)
注意事项
事件池内部使用set管理 因此这是无序的 请不要试图评估相同事件下多个函数的触发顺序