设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
楼主: fangyc
打印 上一主题 下一主题

[已经解决] RMVX在Vista和Win7上启动比较慢有什么解决办法吗?

[复制链接]

Lv3.寻梦者

梦石
0
星屑
1050
在线时间
1564 小时
注册时间
2008-7-30
帖子
4418

贵宾

1
发表于 2010-8-8 07:29:00 | 显示全部楼层
事实上第一次运行的时候,解释器解释脚本会慢一点,然而随着运行的次数增多,这个速度也会加快,紫苏酱给我讲过这个的道理,可惜我忘记掉了。

对于玩家来说,因为玩一次游戏就要玩很长的时间,一开始等待10s左右不是很大的问题。

点评

可以Baidu一下Prefetch和Superfetch技术,会有微妙的差别的。  发表于 2010-8-23 00:01
第一次运行确实有明显的拖慢  发表于 2010-8-8 11:23
>< 我不记得我说过,但以我现在的理解来看,没这回事……除非第一次初始化时有保存一些计算结果到缓存文件中,避免了第二次运算  发表于 2010-8-8 11:01

See FScript Here:https://github.com/DeathKing/fscript
潜心编写URG3中。
所有对URG3的疑问和勘误或者建议,请移步至发布页面。
欢迎萌妹纸催更
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1050
在线时间
1564 小时
注册时间
2008-7-30
帖子
4418

贵宾

2
发表于 2010-8-18 10:38:19 | 显示全部楼层
测试代码: Scripts.rar (114.9 KB, 下载次数: 24)

因为刚从Win7下换到XP,所以只能用XP测试 = =

时间精度是两个time.now相减。
  1. total:0.188
  2. Cache                    =>        0.0
  3. Game_Actor               =>        0.0
  4. Game_Actors              =>        0.0
  5. Game_BattleAction        =>        0.0
  6. Game_Battler             =>        0.0
  7. Game_Character           =>        0.0
  8. Game_CommonEvent         =>        0.016
  9. Game_Enemy               =>        0.0
  10. Game_Event               =>        0.0
  11. Game_Interpreter         =>        0.0
  12. Game_Map                 =>        0.0
  13. Game_Message             =>        0.0
  14. Game_Party               =>        0.0
  15. Game_Picture             =>        0.0
  16. Game_Player              =>        0.016
  17. Game_Screen              =>        0.0
  18. Game_SelfSwitches        =>        0.0
  19. Game_Switches            =>        0.0
  20. Game_System              =>        0.016
  21. Game_Temp                =>        0.0
  22. Game_Troop               =>        0.0
  23. Game_Unit                =>        0.0
  24. Game_Variables           =>        0.0
  25. Game_Vehicle             =>        0.0
  26. Scene_Base               =>        0.0
  27. Scene_Battle             =>        0.0
  28. Scene_Debug              =>        0.0
  29. Scene_End                =>        0.0
  30. Scene_Equip              =>        0.0
  31. Scene_File               =>        0.0
  32. Scene_Item               =>        0.0
  33. Scene_Map                =>        0.0
  34. Scene_Menu               =>        0.0
  35. Scene_Name               =>        0.0
  36. Scene_Shop               =>        0.0
  37. Scene_Skill              =>        0.015
  38. Scene_Status             =>        0.0
  39. Scene_Title              =>        0.0
  40. Sound                    =>        0.0
  41. Sprite_Base              =>        0.0
  42. Sprite_Battler           =>        0.0
  43. Sprite_Character         =>        0.0
  44. Sprite_Picture           =>        0.0
  45. Sprite_Timer             =>        0.015
  46. Spriteset_Battle         =>        0.0
  47. Spriteset_Map            =>        0.0
  48. Spriteset_Weather        =>        0.0
  49. Vocab                    =>        0.0
  50. Window_ActorCommand      =>        0.0
  51. Window_Base              =>        0.0
  52. Window_BattleMessage     =>        0.0
  53. Window_BattleStatus      =>        0.0
  54. Window_Command           =>        0.016
  55. Window_DebugLeft         =>        0.016
  56. Window_DebugRight        =>        0.0
  57. Window_Equip             =>        0.0
  58. Window_EquipItem         =>        0.0
  59. Window_EquipStatus       =>        0.0
  60. Window_Gold              =>        0.0
  61. Window_Help              =>        0.0
  62. Window_Item              =>        0.0
  63. Window_MenuStatus        =>        0.0
  64. Window_Message           =>        0.0
  65. Window_NameEdit          =>        0.0
  66. Window_NameInput         =>        0.0
  67. Window_NumberInput       =>        0.0
  68. Window_PartyCommand      =>        0.0
  69. Window_SaveFile          =>        0.0
  70. Window_Selectable        =>        0.0
  71. Window_ShopBuy           =>        0.0
  72. Window_ShopNumber        =>        0.0
  73. Window_ShopSell          =>        0.0
  74. Window_ShopStatus        =>        0.0
  75. Window_Skill             =>        0.0
  76. Window_SkillStatus       =>        0.0
  77. Window_Status            =>        0.0
  78. Window_TargetEnemy       =>        0.0
复制代码
不知道是我写错了还是定义本来就非常快 = =
反正就是两次Time.now相减,精度不够的话望众位(望着紫苏)修正= =

WindowsXP,赛扬D 2.8Ghz, 1G DDR
(因为运行了很多次,所以觉得有点快,之前目测是大概需要3s)

只测试了script.rxdata定义的部分。
没有测试Main ← 这个咋测试{:nm_9:}
  1. class SimpleBenchMark
  2.   
  3.   attr_reader :mark_list
  4.   
  5.   def initialize
  6.     @mark_list  = {}
  7.     @init_tmark = Time.now
  8.     @last_mark  = Time.now
  9.     @last_cons  = Object.constants
  10.   end
  11.   
  12.   def mark
  13.     if @last_mark != nil
  14.       t_cost = Time.now - @last_mark
  15.       a_cons = Object.constants - @last_cons
  16.       @mark_list[a_cons] = t_cost
  17.       @last_cons = Object.constants
  18.     end
  19.     @last_mark = Time.now
  20.   end
  21.   
  22.   def get_total
  23.     return @last_mark - @init_tmark
  24.   end
  25.   
  26.   
  27. end


  28. dk_sbm = SimpleBenchMark.new
复制代码
从sound开始,每隔类的前面放一个dk_sbm.mark

统计:
  1. #p dk_sbm.mark_list

  2. file = File.open("DK_Simple_Bench_Mark_Testing.txt","w+")
  3. #dk_sbm.mark_list.each do |key,value|
  4. #  
  5. #  s_key = key[0].to_s
  6. #  while s_key.size < 25
  7. #    s_key << " "
  8. #  end
  9. #  file.write (s_key.to_s  + "=>" + "\t" + value.to_s + "\n")
  10. #  
  11. #end

  12. ary = dk_sbm.mark_list.keys.sort

  13. file.write ("total:" + dk_sbm.get_total.to_s + "\n")

  14. ary.each do |e|
  15.   t_e = e.to_s
  16.   while t_e.size < 25
  17.     t_e << " "
  18.   end
  19.   file.write (t_e.to_s  + "=>" + "\t" + dk_sbm.mark_list[e].to_s + "\n")
  20. end

  21. file.close
复制代码

See FScript Here:https://github.com/DeathKing/fscript
潜心编写URG3中。
所有对URG3的疑问和勘误或者建议,请移步至发布页面。
欢迎萌妹纸催更
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-5-5 21:12

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表