Project1

标题: rm卡顿 ? Zaun系列插件开始发力啦 [打印本页]

作者: 闪电超重火炮    时间: 2024-7-18 01:33
标题: rm卡顿 ? Zaun系列插件开始发力啦
本帖最后由 闪电超重火炮 于 2024-8-4 14:44 编辑

从上次发帖到现在已经过去两个多月了
经历了太多对rm核心和pixi的重写
注意,我提到的重写不是大部分说的 复写,或者是按照原来思路照抄一遍的"优化"
而是基于机制改变引起的重写

加载来说,rm的图片加载使用Image元素,视频加载使用video元素,音频加载使用他自己写的webAudio这个又臭又长的api
但是从始至终没有提供完全异步的环境

加载的完成需要回调,完全加载需要提供进行isReady的判断,这很烂
但是经过我的修改就不一样了

你不再需要进行场景的isReady的判断,你不再需要考虑各种的isReady,所有资源的加载在场景start之前都会完成
为了与rm的习惯契合,你只需要考虑 _onBitmapLoaded里面需要怎样初始化即可

我创建了一个用于性能测试的范例
包含 2000个并行公共事件(不断运行)
600个并行事件(不断运行,且每200帧自动播放一次气泡动画,不断播放)
100个普通事件
测试设备 : i5 7300hq,gtx 1050(2gb)的笔记本,测试次数 10次
测试结果: 在不启用我的插件的情况下,mz的帧率在50-60,会掉帧,最严重时在46帧,会有卡顿感,每帧的耗时延迟在 16-20
在启用我的插件的情况下,延迟 4-6,帧率 60,偶尔57/58,无卡顿


我修改了事件的触发和刷新机制,修改了动画/气泡动画的触发,使其更加快速和直接
严格同步了渲染和逻辑刷新处于同一帧上,但逻辑刷新的顺序在渲染之前
优化了PIXI内部对图片的更新和卸载,移除了PIXI一些额外的不需要的功能
大幅度优化和重写 TouchInput 和 Input
这里就不再一一赘述

工程在我群里,群号在我上一个帖子里
群里还包含了一批我开源但不再维护的插件(20+)
优化了这么久,我总算可以安心搭建我的插件体系了
以前的陈旧的代码会不定时在群里开源

预告会有一批免费的插件,包含我引以为傲的spine插件的免费试用版(你要问我的spine插件值不值?去看看spine官方运行时的代码贡献里面有没有我就行)

b站的性能优化视频,以及部分插件
详细插件和范例在我群文件
【性能优化视频(前半段不优化,后半段优化)-哔哩哔哩】 https://b23.tv/ZVcwZgk

作者: 505681468    时间: 2024-7-18 04:42
卧槽,是哪方大佬,报上贡献ID仰慕一下哇
作者: 暗爵    时间: 2024-7-18 10:56
啊?这么牛?
作者: 余杭    时间: 2024-7-18 12:45
太强了!
作者: 月半弓虽    时间: 2024-7-18 21:50
哇太强了吧大佬!!!
作者: 闪电超重火炮    时间: 2024-7-31 18:32
505681468 发表于 2024-7-18 04:42
卧槽,是哪方大佬,报上贡献ID仰慕一下哇

插件工程在我的群里,我的群号在上一篇帖子里
作者: 闪电超重火炮    时间: 2024-7-31 18:33
余杭 发表于 2024-7-18 12:45
太强了!

插件工程在我的群里,我的群号在上一篇帖子里
作者: 闪电超重火炮    时间: 2024-8-4 14:45
【性能优化视频(前半段不优化,后半段优化)-哔哩哔哩】 https://b23.tv/ZVcwZgk
作者: 寂寞的青椒    时间: 2024-8-4 17:18
和我一样的头像?
作者: ww984957002    时间: 2024-8-4 18:07
牛逼啊啊啊啊




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1