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

Project1

 找回密码
 注册会员
搜索
查看: 139|回复: 0
打印 上一主题 下一主题

[原创发布] 优化RGSSDLL内部函数的性能

[复制链接]

Lv4.逐梦者

梦石
0
星屑
19518
在线时间
3116 小时
注册时间
2013-1-11
帖子
1292
跳转到指定楼层
1
发表于 2024-11-21 15:00:40 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
本帖最后由 张咚咚 于 2024-11-26 00:35 编辑

本脚本是将RGSS301.dll中ruby1.9.2的部分函数优化到ruby高版本,并进行一定的修改来达到提高部分内置类函数的性能。
(可能不仅限ruby1.9.2,后续也可能会优化RGSS方面的东西...)

下面是脚本,插入到脚本列表最上面后运行即可(需依赖附件DLL)。
RUBY 代码复制
  1. #==============================================================================
  2. # RGSS 优化脚本 v1.1
  3. #
  4. #   bug 反馈 -> rpg.blue @张咚咚
  5. #   [url]https://rpg.blue/thread-497359-1-1.html[/url]
  6. #
  7. #   使用注意:不要对(TrueClass、FalseClass、NilClass、整数(Fixnum)、符号(Symbol))
  8. #             这五种基本数据类重写 == 方法,本脚本不会调用这五个类型的 == 方法
  9. #            (一般也不会有人会重写这些基础类的 == 方法吧)。
  10. #   
  11. #   使用说明:将本脚本放到脚本列表最上面即可。
  12. #
  13. #   优化内容:
  14. #     1). 优化 RGSS 内部 rb_equal 方法(ruby3.x版本优化加一定修改)。
  15. #         受益于所有用到rb_equal方法的函数,包括但不限于如下函数(
  16. #           Array#count、Array#index、Array#rindex、Array#include?、Array#delete、
  17. #           Array#==、Hash#key、Hash#has_value 等
  18. #         )
  19. #     2). 优化 Array#max、Array#min、Array#minmax 方法(ruby3.x版本优化加一定修改)。
  20. #
  21. #   更新内容:
  22. #     v1.1:修复异常逻辑结果及闪退,加入 Array#max、Array#min、Array#minmax 的优化。
  23. #==============================================================================
  24.  
  25.  
  26. RSOPT = Win32API.new('rgss_opt.dll', "Initialize", 'l', 'v')
  27. RSOPT.call(
  28.   Win32API.new('kernel32','GetModuleHandleA','p','i').call('RGSS300')
  29. ) if true # 是否使用优化处理


更新内容

性能测试结果



附件:
Project1.7z (1.32 MB, 下载次数: 1)
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

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

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

GMT+8, 2024-12-4 02:58

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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