查看: 3108|回复: 3

[有事请教] 如何创建窗口或优化图片过多的卡顿?

[复制链接]
梦石
0
星屑
3081
在线时间
236 小时
注册时间
2021-4-22
回帖
203
发表于 2022-11-14 04:28:37 | 显示全部楼层 |阅读模式

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

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

×

我现在是用显示图片和图片按钮来制作这个伪窗口,但是显示图片和刷新变量太多,现在会有卡顿。
怎么在菜单里创建一个这样的窗口或者优化下图片加载过多造成的卡顿?
梦石
0
星屑
1607
在线时间
220 小时
注册时间
2022-2-3
回帖
158
发表于 2022-11-14 07:11:07 | 显示全部楼层
我也刚好在学习制作窗口的内容,也遇到了一些问题。
特别卡顿的时候,我发现是我的操作失误,导致生成了太多的图片。
这些图片重叠在一起,我以为只生成了一张,导致我产生了各种怀疑。
然后出于好奇,在我当前的环境下,我测试了一下生成多少个可拖动的精灵才会导致出现极端的fps数值。
目前看起来是一万多个。。。所以我猜测你也可能是遇到差不多的情况。
(~B[_N(2JW0M)O6}D}RWD]6.png
我的联系方式Q: 1127808900
欢迎一起讨论任何问题
回复

使用道具 举报

梦石
0
星屑
6334
在线时间
287 小时
注册时间
2018-1-22
回帖
207
发表于 2022-11-15 11:59:43 | 显示全部楼层
一般的优化无非就是空间换时间,可以在场景的initialize阶段或是create方法中创建显示bitmap的Sprite,同时,尽可能地不要在update方法中大量new新对象。
对于内存空间非常有把握的,还可以在main方法中声明一个全局对象,在游戏启动时就把图像资源全部预加载存在这个对象中,后续占用时间的调用就是create new Sprite,而没有load images了
自分自身の神様になること
回复 1 0

使用道具 举报

梦石
0
星屑
1518
在线时间
167 小时
注册时间
2025-2-15
回帖
67
发表于 2025-4-3 01:31:27 | 显示全部楼层
本帖最后由 写给妖精的情诗 于 2025-4-3 01:39 编辑

刚好看到了,挖坟就挖坟吧。。。好像是可以,乱猜的,不确定。
上面、左边、右边三个部分的文字和变量可以使用TextPicture.js或者是DTextPicture.js这种图片文字插件来显示。
至于点击的那些图片,可以直接画在主画面那里去,省下17张图片或许就能让22的帧率变到60左右的帧率了。

点击图片以及监测图片1跟图片2是否有重合、碰撞的脚本 - 综合技术讨论区 - Project1
https://rpg.blue/thread-497083-1-1.html
就是上面这个帖子讲到的x=TouchInput.x; y=TouchInput.y;来获取鼠标位置,
x1=$gameScreen.picture(1)._x; y1=$gameScreen.picture(1)._y来获取图片的坐标位置。

正方形和长方形的覆盖范围就使用.splice来给数组输入那个范围所有坐标的元素,圆形就使用Math.sqrt来获得圆形的半径,
然后就可以判断鼠标是不是悬停在哪个范围和点击在哪个范围了。
或者是你这么多的图片事件,放在并行事件那里,让它们每执行一次就等待几帧,这个等待几帧说不定就让电脑缓过来了。
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部