赞 | 0 |
VIP | 5 |
好人卡 | 0 |
积分 | 5 |
经验 | 12441 |
最后登录 | 2017-4-21 |
在线时间 | 177 小时 |
Lv2.观梦者
- 梦石
- 0
- 星屑
- 480
- 在线时间
- 177 小时
- 注册时间
- 2006-10-3
- 帖子
- 618
|
6楼
楼主 |
发表于 2013-11-15 23:50:52
|
只看该作者
本帖最后由 流川枫 于 2013-11-16 00:03 编辑
其实我从一开始就看出RM一个导致CPU狂占的原因,刚试验了下果然和我想的一样。
插入以下临时脚本可以实测300个事件最高频率随机移动也不卡
class Game_Map
#--------------------------------------------------------------------------
# ● 获取指定位置的事件数组
# x : X 座标
# y : Y 座标
#--------------------------------------------------------------------------
def events_xy(x, y)
result = []
=begin
for event in $game_map.events.values
result.push(event) if event.pos?(x, y)
end
=end
return result
end
end
而要实际使用该脚本优化游戏,只需要用散列或数组对事件和地图坐标做一个映射。然后在这个方法里直接查表就能实用。
当初很久很久以前解读RMXP源码的时候就发现这个设计上的偷懒,可以想像RM的程序员是多么地懒惰和不考虑CPU的负荷。
又试了下400个事件随机高频率移动也不太卡,不过500个就卡了 |
|