Project1

标题: 做的游戏比较卡,哪位前辈有没有好的解决方法 [打印本页]

作者: oOxinlan    时间: 2014-7-12 23:57
标题: 做的游戏比较卡,哪位前辈有没有好的解决方法
我做的游戏,地图都是20X15格的,每张地图上事件都很少超过10个;但是现在做到一半游戏特别的卡,我F2查看了下,一直在25FPS~60FPS之间波动;玩的过程中将近5秒就要停顿一下,虐心啊!各路大神有没有什么解决思路,求助求助
作者: yestar    时间: 2014-7-13 00:52
可以试试这个AntiLag这个脚本,一群小孩子跑来跑去都不卡。
作者: HaoYe233    时间: 2014-7-13 01:22
本帖最后由 VIPArcher 于 2014-7-13 01:30 编辑

RUBY 代码复制
  1. ############################################################################
  2. # RM内存自动清理脚本(XP&VX) v 1.00
  3. # 作者:精灵使者 创意:夏娜 各种压力的猫君
  4. # 按惯例,此类脚本应该放在最上面,就会自动工作。
  5. # 使用方法:直接插入脚本的最上面即可
  6. # 如果感觉卡机,请修改GC_FREQ
  7. ############################################################################
  8.   #--------------------------------------------------------------------------
  9.   # ● 设定部分
  10.   #--------------------------------------------------------------------------
  11. module GC_CLEAR
  12. GC_FREQ = 10 #清理内存的频率(如果卡机,请调大清理频率,默认1秒整理1次)
  13. GC_TRANSITION = true #场景变换的时候是否立即清理,默认开启
  14. end
  15.   #--------------------------------------------------------------------------
  16.   # ● 创建自动清理线程
  17.   #--------------------------------------------------------------------------
  18. if @gc_thread.nil?
  19. @gc_thread = Thread.new{loop{GC.start;sleep(GC_CLEAR::GC_FREQ)}}
  20. end
  21.   #--------------------------------------------------------------------------
  22.   # ● 场景变换时清理部分
  23.   #--------------------------------------------------------------------------
  24. class << Graphics
  25. alias origin_transition transition unless method_defined? :origin_transition
  26. alias origin_freeze freeze unless method_defined? :origin_freeze
  27.  
  28. def transition(*args)
  29.   origin_transition(*args)
  30.   GC.start if GC_CLEAR::GC_TRANSITION
  31. end
  32. def freeze
  33.   origin_freeze
  34.   GC.start if GC_CLEAR::GC_TRANSITION
  35. end
  36. end







试试这个脚本,放在所有脚本的最上面。
作者: taroxd    时间: 2014-7-13 07:07
楼主请确认:地图上没有过多的并行处理事件
作者: VIPArcher    时间: 2014-7-13 12:04
1.你是否用了太多效果类的脚本(例如烛光或者视野限制时间流逝一类的脚本?)
2你试试新建一个工程,然后把脚本和事件复制过去,剔除一些没必要的东西,再看看FPS是否还是很低
作者: 双黄连2_副本2    时间: 2014-7-13 12:29
1.LZ并行处理的公共事件太多/不合理,试试在需要并行处理的公共事件末尾加上"等待10帧"
2.LZ使用了天气、地图色调变化,这两个比较卡。
3.LZ使用了某些脚本(初步判定是有关于地图上的东西的脚本)
4.优化脚本大部分都是优化了事件执行方面的东西,如果LZ游戏事件不多最好别用优化脚本。
5.5秒就停顿一下说明有东西每隔五秒就会运行一次,这样的话如果不是公共事件就是脚本了。
作者: 1003492579    时间: 2014-7-13 14:32
你需要一台优秀的电脑,至少得有2G内存,然后你需要一条线程(?),处理你的dll,最后你需要一个东西叫事件防卡
切记:除了系统的API以外,任何dll都会让你掉帧一半以上




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1