DataSystem的概念起源于2005年的ReturnBug+GC时代,因为GC的读写效率不佳,而产生以GC储存数组编号,再以变量数组做为主要储存空间的技术,因为变量数组的读写速度是最快的,即使是现在的HashTable也比不上变量数组,所以DataSystem目前仍是最优秀的数据储存系统。至于为什么这种东西可以叫做DataSystem,至今已不可考,反正魔兽地图高手们口耳相传的都是这个词,所以久而久之也没有人去质疑为什么这东西叫做DataSystem。

1.24下 TimerDataSystem 与 timer+hashtable方法对比:

每0.01秒循环创建N个循环10次的0秒计时器,以某古董机的FPS到5为准。

N个循环周期为0.001秒的计时器不停循环,以某古董机FPS到5为准。

1.24可以直接使用TDS,而对于1.20的war3,只需要实现GetHandleId就可以。

function GetHandleId takes handle h returns integer

return h

return 174

endfunction

另外还有方法使TimerDataSystem完全支持1.20与1.24,在词条最后。

TimerDataSystem需要预创建计时器,在地图初始化时创建足够地图使用的计时器数量(同时执行计时器的最大数量)然后用数组来存取数据,每次使用时创建不重复的索引作为数组下标,在TimerStart所调用的函数中可以获得这个索引来达到传递数据的目的。但因为是数组,所以有着最大下标8191的限制,但是我相信没有人的地图里会同时执行着8000多个计时器吧。

那么我们来看看TDS是怎样工作的:

假设我们有一个函数来获得不重复的索引:CreateTimerId

然后拥有一个函数可以在TimerStart执行的函数内获得这个索引:GetTimerId

最后还有一个函数可以释放这个索引,以便重复使用:DestroyTimerId

于是我们就可以用这个索引+数组来存储数据,写出来的代码会是下面这样:

function test_Action takes nothing returns nothing

local integer id=GetTimerId() //获得计时器所对应的索引

刚刚查询:TimerDataSystem 方解石 工作报告 林潮翔 ۸ 把音浪打开 番茄海鲜意粉 暗影王国之书 只剩下 杨曦婷 铜锤草根 立竿见影 伪随机码 富士见町 伍洁镟 有裂缝 指示精神 国家教委 %E8%91%A3%E5%A1%98%E9%95%87 马王庙街 油料作物 靛蓝色 少女潘金莲 杨佳妮 土家族 六代乐舞 沐溪河 硬纸板城堡 师范学院 民事权利 为人所知 保罗·朗之万 洛阳 死灵纪事 seasonning RECREATION 销售税 克罗地亚 peter lee 早川濑里奈 更确切地说 枫梅线 虎斑海扇蛤 material 半棱华 数学会 中国科学技术大学学生舞蹈艺术团 独立运动 碗墓 试验中 意外事件 高等数学 火控雷达 博士后 若干人 保罗四世 究其原因 Mandheling 长途运输 一点一滴 Kingdom 郑尖兵 齿轮测量 沉默的十月 桌面上 高雄市 科学院南里 武阳君爱鸟 合欢派 湖北省仙桃市沙洋苗子湖监狱 轻工业 sediment 似乎也 僵尸物语 民主运动 新秩序 美食菜谱 天下第一 暨阳初中
友情链接: 知道 电影 百科 好搜 问答 微信 值得买 巨便宜 天天特价 洛阳汽车脚垫 女装 女鞋 母婴 内衣 零食 美妆 汽车 油价 郑州 北京 上海 广州 深圳 杭州 南京 苏州 武汉 天津 重庆 成都 大连 宁波 济南 西安 石家庄 沈阳 南阳 临沂 邯郸 保定 温州 东莞 洛阳 周口 青岛 徐州 赣州 菏泽 泉州 长春 唐山 商丘 南通 盐城 驻马店 佛山 衡阳 沧州 福州 昆明 无锡 南昌 黄冈 遵义
© 2024 haodianxin 百科 消耗时间:0.668秒 内存2.48MB