05 2015 档案

游戏中的定时器
摘要:游戏中处处都有定时器,基本上每个逻辑部分我们都能看到定时器的影子。如果翻看一下以前网上流传的一些MMO的代码,比如mangos的,比如大唐的,比如天龙的,我们都可以看到形形色色的定时器实现。 在以前,很多程序员用起来C++还都是在用C with Object,以前的C++写callback也好异步也好总是感觉哪里不对劲的样子,所以网上流传的那种线上服务器的代码,一般都是往主循环里硬塞定时器逻辑。 定时器在很多能参考到的代码里都是逻辑和底层不做区分的,这样就会导致一些问题。 一方面,底层的需求是通用性。要通用性的话就必须得在主循环中轮询timeout,而不是借助一些更高层级的抽象; 另一方面,上层的需求是易用性。要易用性的话就必须得用起来方便,而且最好是能原生嵌入在一些常规的异步编程模型中的。最不济的,需要我很方便的挂callback。再高级点,我需要能yield。最上层的,能让我在描述一次lasy evaluation的计算中描述WaitForTime语义,做future什么的当然更好了。 阅读全文

posted @ 2015-05-10 19:18 fingerpass 阅读(6286) 评论(0) 推荐(5) 编辑

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

点击右上角即可分享
微信分享提示