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

Project1

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

[讨论] 今天闲的测了一下RGSS1和3的Bitmap效率

[复制链接]

Lv5.捕梦者 (版主)

遠航の猫咪

梦石
3
星屑
23186
在线时间
2387 小时
注册时间
2005-10-15
帖子
1166

开拓者

跳转到指定楼层
1
发表于 2016-2-24 13:18:42 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

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

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

x
测试的代码大概长这样
#建一个bitmap
t=Time.now
loop do
  #测什么东西
  t1 = Time.now
  break when t1-1 >1.0 / 40 #这里本来是Graphics.frame_rate考虑到XP和VA不一样就统一成了40
end

然后打印循环的次数

结果亮了……说好的“高效图形引擎”RGSS3呢?

draw_text(1字符):RGSS1:每帧大概能执行700次;RGSS3:每帧大概能执行225次(描边关闭、阴影关闭的情况下)
draw_text(20字符):RGSS1:每帧大概能执行30次;RGSS3:每帧大概能执行17次(描边关闭、阴影关闭的情况下)
如果在RGSS1里手工实现描边,并将RGSS3的相关选项开启(默认开启)
draw_text(1字符):RGSS1:每帧大概能执行70次;RGSS3:每帧大概能执行125次
draw_text(10字符):RGSS1:每帧大概能执行24次;RGSS3:每帧大概能执行24次
draw_text(20字符):RGSS1:每帧大概能执行17次;RGSS3:每帧大概能执行17次
draw_text(30字符):RGSS1:每帧大概能执行11次;RGSS3:每帧大概能执行10次

blt:RGSS1:每帧大概能执行62-68次;RGSS3:每帧大概能执行57-71次
stretch_blt:两个差不多,和dest_rect的大小正相关,如果src_rect比原来的小(需要放大)有额外的花费

set_pixel: RGSS1:每帧大概能执行11000-12000次;RGSS3:每帧大概能执行7000-8000次(宝宝你吓到我了!)
get_pixel: 上面的2倍……

fill_rect: RGSS1和3:每帧大概能执行780-810次
gradient_fill_rect: RGSS1无此功能,RGSS3:每帧大概能执行13次(横向)或426次(纵向)……这差别太大了吧
clear_rect: RGSS1无此功能,RGSS3:每帧大概能执行880-900次
blur: RGSS1无此功能,RGSS3:每帧大概能执行1次

评分

参与人数 2星屑 +76 收起 理由
pigsss + 10 吓尿
MeowSnow + 66 虽然完全看不懂

查看全部评分

SailCat (小猫子·要开心一点) 共上站 24 次,发表过 11 篇文章 上 次 在: [2006年01月28日11:41:18 星期六] 从 [162.105.120.91] 到本站一游。
头像被屏蔽

Lv2.观梦者 (禁止发言)

梦石
0
星屑
653
在线时间
3774 小时
注册时间
2011-2-26
帖子
1839

开拓者

5
发表于 2016-2-25 13:23:31 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

Lv3.寻梦者 (版主)

…あたしは天使なんかじゃないわ

梦石
0
星屑
2208
在线时间
4033 小时
注册时间
2010-10-4
帖子
10779

开拓者贵宾

4
发表于 2016-2-24 16:19:26 | 只看该作者
官方哪里说过 RGSS3 的图形处理能力比 RGSS1 高效了?

至少连 Bitmap 的存储方式都没变过来着

点评

站内有所谓的RPG XP Ace,老外也乐此不披(他们叫RMXA),用RGSS3驱动XP。那么,在核心的图形处理上RGSS3并无优势的话……要RMXA何用,还不如原生的RGSS1...  发表于 2016-2-25 08:43

评分

参与人数 1星屑 +10 收起 理由
浮云半仙 + 10 膜拜神犇

查看全部评分

回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
3846
在线时间
1966 小时
注册时间
2013-1-3
帖子
9536
3
发表于 2016-2-24 16:06:15 | 只看该作者
猫大真是好厉害的
《宿愿·寻剑篇》正式版已经发布!快去看看!点击进入论坛发布贴
回复 支持 反对

使用道具 举报

Lv3.寻梦者 (暗夜天使)

精灵族の天使

梦石
0
星屑
1697
在线时间
3038 小时
注册时间
2007-3-16
帖子
33731

开拓者贵宾

2
发表于 2016-2-24 15:47:35 | 只看该作者
  1. #=============================================================================
  2. # ■ Bitmap重定义
  3. #=============================================================================

  4. class Bitmap
  5.   def blur(strength = 1, opacity = 10)
  6.    (-strength).upto(strength) do |x|
  7.      (-strength).upto(strength) do |y|
  8.       next if x.zero? and y.zero?
  9.       src_rect = Rect.new(0, 0, width - x, height - y)
  10.       blt(x, y, self, src_rect, opacity)
  11.      end
  12.    end
  13.   end
  14. end
复制代码
精灵放一段忧雪的黑科技

点评

字体阴影脚本一直都是用的你的那版……  发表于 2016-2-25 13:23
黑科技不错,我用的优化的猫哥哥版本的blur,自己黑了一个高效描边(就是测试里用的RGSS1描边)  发表于 2016-2-25 08:46
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-19 06:48

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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