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

Project1

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

关于帮助窗口刷新造成卡...

 关闭 [复制链接]

Lv1.梦旅人

看不到我

梦石
0
星屑
50
在线时间
229 小时
注册时间
2005-11-6
帖子
1741

贵宾

跳转到指定楼层
1
发表于 2007-7-27 07:03:34 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

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

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

x
http://rpg.blue/web/htm/news581.htm
类似这个
帮助窗口由于是不停刷新 就是调用update_help 导致FPS下降厉害
上面那个是说判断按键后再刷新,导致一个BUG就是第一个物品不显示帮助
如何解决{/fd}
版务信息:本贴由楼主自主结贴~

Lv1.梦旅人

看不到我

梦石
0
星屑
50
在线时间
229 小时
注册时间
2005-11-6
帖子
1741

贵宾

4
 楼主| 发表于 2007-7-27 18:10:28 | 只看该作者
了解了 多谢{/se}
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
95
在线时间
49 小时
注册时间
2006-5-7
帖子
526
3
发表于 2007-7-27 15:11:37 | 只看该作者
换个刷新判断方式吧,参考下柳柳大人以前对在下的的教导:
自己看看你的set_text和默认的set_text有什么区别吧。

默认的:

def set_text(text, align = 0)
   if text != @text or align != @align
...
     @text = text

你的:

def set_text(skill)
   if skill !=nil


你知道这有什么区别吗?请看这里:http://rpg.blue/web/htm/news518.htm

默认的方法使用了窗口自留数据,也就是这个窗口的@text记录了当前描绘了的文字,只有当需要描绘的文字修改的时候,才会执行contents的一大堆操作。这样每次就算update,也只会进行一次比对的判断;而你的update,skill肯定不是nil,那么每次都是进行比对后吧啦吧啦吧啦把所有文字描绘一遍。这一点就是变慢的原因。

速度最慢的是描绘,draw_text,最慢。

所以其实你用了饭的方法没有问题,不过最简单的,就是直接这么修改那个条件分歧:

if skill != nil and @skill != skill
@skill = skill

后面不变。速度立刻提升N倍。

总之,利用自留变量就是
系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
回复 支持 反对

使用道具 举报

Lv1.梦旅人

看不到我

梦石
0
星屑
50
在线时间
229 小时
注册时间
2005-11-6
帖子
1741

贵宾

2
 楼主| 发表于 2007-7-27 07:03:34 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

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

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

x
http://rpg.blue/web/htm/news581.htm
类似这个
帮助窗口由于是不停刷新 就是调用update_help 导致FPS下降厉害
上面那个是说判断按键后再刷新,导致一个BUG就是第一个物品不显示帮助
如何解决{/fd}
版务信息:本贴由楼主自主结贴~
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

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

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

GMT+8, 2026-7-4 04:41

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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