找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 6958|回复: 14

[求助] 出现menu选项时画面卡顿

[复制链接]
发表于 2022-1-23 22:06:21 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
之前一直没有这个问题,最近愈发严重。
[RenPy] 纯文本查看 复制代码
image 天气晴天= Movie(play="npc_m/天气001.webm")

label home:
 scene 天气晴天 with dissolve
 menu:
     "测试":
         jump home


每次出现选项的时候播放的视频画面就会卡顿一秒,这是什么原因导致的?我做了很多个天气,什么晴天雨天下雪...和数量有关系吗?


发表于 2022-1-24 09:17:10 | 显示全部楼层
给的信息太少……需要能复现的工程……
回复 支持 抱歉

使用道具 举报

 楼主| 发表于 2022-1-24 13:19:29 | 显示全部楼层
本帖最后由 qq524298690 于 2022-1-24 13:21 编辑
被诅咒的章鱼 发表于 2022-1-24 09:17
给的信息太少……需要能复现的工程……

[RenPy] 纯文本查看 复制代码
image films = "a[number]"
image a001 = Movie(play="film001.webm")
image a002 = Movie(play="film002.webm")
...
image a998 = Movie(play="film998.webm")
image a999= Movie(play="film999.webm")

label Event:
 $ number = renpy.random.randint(1,999)
 scene films with fade
 "画面很流畅!"
 menu:
      "选项出来":
           "画面掉帧卡顿大概0.5秒"
           jump Event



会不会和我使用了过多image有关系?
我在把半数的image注释掉后测试发现流畅了很多.....还是每次使用随机数的原因?
回复 支持 抱歉

使用道具 举报

发表于 2022-1-25 08:47:33 | 显示全部楼层
config.image_cache_size 改大点试试。
回复 支持 抱歉

使用道具 举报

 楼主| 发表于 2022-1-26 01:04:43 | 显示全部楼层
本帖最后由 qq524298690 于 2022-1-26 01:31 编辑
被诅咒的章鱼 发表于 2022-1-25 08:47
把 config.image_cache_size 改大点试试。

define config.image_cache_size_mb = 1000

大佬,我在顶部加入了这行代码,但不起作用,还是同样的掉帧卡顿情况。
我哪里做错了吗?
另外我在外网论坛请教了renpy其中一位制作人,他的答复是
I saw on the forum you were loading off of a USB drive, so that's part of it.
The movies aren't predicted, and they're being loaded off of slow media, so there's likely a display.
他这段话什么意思,是不是没的办法?
回复 支持 抱歉

使用道具 举报

发表于 2022-1-26 08:23:49 | 显示全部楼层
1000MB哪够,改成4096试试。

那段英文的意思是:他看到视频是从U盘里加载的,所以慢。
回复 支持 抱歉

使用道具 举报

 楼主| 发表于 2022-1-26 16:29:25 | 显示全部楼层
本帖最后由 qq524298690 于 2022-1-26 18:51 编辑
被诅咒的章鱼 发表于 2022-1-26 08:23
1000MB哪够,改成4096试试。

那段英文的意思是:他看到视频是从U盘里加载的,所以慢。 ...

define config.image_cache_size_mb = 4096
卡顿依旧

define config.image_cache_size_mb = 40960
了还是卡
是不是还需要一行define config.image_cache_size = None? 那么None改成什么呢?
define config.image_cache_size = Nonelink
如果非None,该项用于设置 图像缓存 的大小,是界面尺寸的整倍数,单位为像素。
如果设置过大,是浪费内存的行为。如果设置过小,图像从磁盘直接加载,会降低性能。
define config.image_cache_size_mb = 300
该项用于设置 图像缓存 的大小,单位是MB。如果 config.cache_surfaces 的值是False,每个图像的一个像素占用4 byte的存储空间;否则,每个图像的一个像素占用8 byte的存储空间.
如果设置过大,是浪费内存的行为。如果设置过小,图像从磁盘直接加载,会降低性能。只要 config.image_cache_size 的配置不是空值(None),就不使用config.image_cache_size_mb。

回复 支持 抱歉

使用道具 举报

发表于 2022-1-27 09:01:25 | 显示全部楼层
发个最小可复现问题的工程上来看看……
回复 支持 抱歉

使用道具 举报

 楼主| 发表于 2022-1-27 18:17:36 | 显示全部楼层
被诅咒的章鱼 发表于 2022-1-27 09:01
发个最小可复现问题的工程上来看看……

链接:https://pan.baidu.com/s/1mxtY3-zl6Tkv5VrSolCcxA
提取码:46q6

一共只有60M的大小,可以复现卡顿的情况。劳烦章鱼哥看一下,非常感谢T T
回复 支持 抱歉

使用道具 举报

发表于 2022-1-28 11:03:59 | 显示全部楼层
试了下,的确有卡顿的现象。如果把那些实际视频文件不存在的image对象定义删除,就没有卡顿了。
楼主实际的项目中,所有image对象都有实际对应的视频文件吗?
还是只在脚本里写了定义占坑,准备后面填满对应视频呢?
回复 支持 抱歉

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|RenPy中文空间 ( 苏ICP备17067825号|苏公网安备 32092302000068号 )

GMT+8, 2024-11-24 09:57 , Processed in 0.109845 second(s), 24 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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