本帖最后由 jeffxl 于 2012-10-8 05:29 编辑
变心金刚2 发表于 2012-10-8 02:57
游戏为什么要预测游戏角色将要去哪儿?这一个你所处区域内你能进的区域能最快退回的区域当然是游戏程序已 ...
您没有懂得什么是热数据统计,热数据不存在丢弃一说,丢弃的只是相对的冷数据。也不存在多少容量都不够的说法,对于WIN7是剩多少内存则有可能利用多少(还要看你IO压力),热统计就是寻找最大重复IO可能性的算法,是基于数据IO在一定时间线上的“经验统计”。经过时间的积累后多次读取的数据自然就不会缓存扔掉,从概率学上来说,您下次更有可能再次访问这些数据。
你说的这些东西,仅需要系统全局缓存即可,热统计和命中率是唯一指标,操作系统甚至无需关心缓存中的内容是什么东西,一概按热度排列缓存优先级并淘汰相对冷的数据,这甚至和剩余内存容量的大小无关(不存在需要多少容量缓存多少内容的说法),按规则办事即可,剩余内存大效益更大而已。仅一条,利用有限的剩余资源造成最大的IO效益是唯一原则。
其实仅需要从IO层面判断那些是热数据,系统层面不需要关心关心角色移动规律,用最简单的判断方式寻求最大效益。您说的游戏进程按角色可能的行进规则预读数据并不是缓存一种方式,这个缓存并没有任何冲突,WOW在大地图上是无缝地图,本来就一直在预读周边很广泛范围的材质。
命中够高才有效益,不是由游戏进程能够决定和猜测的。 |