查看: 1100|回复: 9

[有事请教] MV播放视频经常游戏死机

[复制链接]
梦石
0
星屑
225
在线时间
30 小时
注册时间
2024-2-15
回帖
7
发表于 2024-4-9 16:16:38 | 显示全部楼层 |阅读模式

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

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

×
我正在使用MV制作游戏,用视频做转场。
目前是一个事件中包含俩个视频 一大段对话:
主角对话 插入花屏视频   显示一段文字  再次插入花屏转场视频 紧接着切换地图。
测试游戏时候 经常在视频播放时候游戏死机,不是一两次  是十次测试必有一次游戏死机。(电脑没卡,就是游戏直接卡在视频的某一帧了,无法操作 只能重启游戏)
这个是MV的问题?还是我在一个事件里塞了俩个视频的原因? 俩这个视频是转场用的 内存也不大啊。
有什么办法可以解决这个问题吗?
梦石
0
星屑
3264
在线时间
777 小时
注册时间
2023-5-18
回帖
154
发表于 2024-4-9 18:01:51 | 显示全部楼层
按F12查看控制台打印
B站:传送门
-----------------------------------------------------------------------
“与其为做不到的事耿耿于怀,不如为自己做到的事而喜悦
吧!”

-----------------------------------------------------------------------
回复

使用道具 举报

梦石
0
星屑
100
在线时间
1022 小时
注册时间
2021-3-24
回帖
544

MZ评测员

发表于 2024-4-9 19:06:06 | 显示全部楼层
论坛搜 MV卡死
解决
全家活光光~
回复

使用道具 举报

梦石
0
星屑
2299
在线时间
178 小时
注册时间
2023-11-16
回帖
76
发表于 2024-4-10 00:55:17 | 显示全部楼层
因为视频是临时加载的 用这个插件可以解决https://rpg.blue/thread-488203-1-1.html
回复

使用道具 举报

梦石
0
星屑
225
在线时间
30 小时
注册时间
2024-2-15
回帖
7
 楼主| 发表于 2024-4-10 10:20:08 | 显示全部楼层
清澈淌漾 发表于 2024-4-9 19:06
论坛搜 MV卡死
解决

问题好像不大一样,我只有播放视频时候才会直接卡死,其他时间很流畅。
回复

使用道具 举报

梦石
0
星屑
225
在线时间
30 小时
注册时间
2024-2-15
回帖
7
 楼主| 发表于 2024-4-10 10:28:10 | 显示全部楼层
kyjoke 发表于 2024-4-10 00:55
因为视频是临时加载的 用这个插件可以解决https://rpg.blue/thread-488203-1-1.html

提前加载就可以避免这个问题了是吗?我回去试试哩
回复

使用道具 举报

梦石
0
星屑
2299
在线时间
178 小时
注册时间
2023-11-16
回帖
76
发表于 2024-4-10 10:37:20 | 显示全部楼层
本帖最后由 kyjoke 于 2024-4-10 10:38 编辑
冷笑话中 发表于 2024-4-10 10:28
提前加载就可以避免这个问题了是吗?我回去试试哩


这就是一个底层问题 rm的底层在资源优化方面其实问题很多 图片临时加载导致图片生成的时候会有肉眼可见的延迟 音频临时加载如果并列播放和淡出会导致cpu占用率100% 视频临时加载更是会随机卡死。。
回复 1 0

使用道具 举报

梦石
2
星屑
8479
在线时间
463 小时
注册时间
2021-12-4
回帖
486

MZ评测员

发表于 2024-4-10 15:54:31 | 显示全部楼层
MV卡死问题有相当一部分是因为下面这个函数:
  1. /**
  2. * Renders the stage to the game screen.
  3. *
  4. * @static
  5. * @method render
  6. * @param {Stage} stage The stage object to be rendered
  7. */
  8. Graphics.render = function(stage) {
  9.     if (this._skipCount === 0) { // 修复办法是把这里的 === 0 改成 <= 0,位于 rpg_core.js 第 1870~1890行
  10.         var startTime = Date.now();
  11.         if (stage) {
  12.             this._renderer.render(stage);
  13.             if (this._renderer.gl && this._renderer.gl.flush) {
  14.                 this._renderer.gl.flush();
  15.             }
  16.         }
  17.         var endTime = Date.now();
  18.         var elapsed = endTime - startTime;
  19.         this._skipCount = Math.min(Math.floor(elapsed / 15), this._maxSkip);
  20.         this._rendered = true;
  21.     } else {
  22.         this._skipCount--;
  23.         this._rendered = false;
  24.     }
  25.     this.frameCount++;
  26. };
复制代码
回复

使用道具 举报

梦石
0
星屑
225
在线时间
30 小时
注册时间
2024-2-15
回帖
7
 楼主| 发表于 2024-4-11 10:32:59 | 显示全部楼层
kyjoke 发表于 2024-4-10 10:37
这就是一个底层问题 rm的底层在资源优化方面其实问题很多 图片临时加载导致图片生成的时候会有肉眼可见的 ...

学到了
回复

使用道具 举报

梦石
0
星屑
225
在线时间
30 小时
注册时间
2024-2-15
回帖
7
 楼主| 发表于 2024-4-11 10:35:23 | 显示全部楼层
小秋橙 发表于 2024-4-10 15:54
MV卡死问题有相当一部分是因为下面这个函数:

收到!这个方法好简便!
回复

使用道具 举报

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

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部