gamemaker吧 关注:13,573贴子:94,164
  • 4回复贴,共1
求助

请问怎么让纹理加载更快以及游戏卡顿问题

只看楼主收藏回复

问题1:关于纹理组加载
每次进入游戏后会由一个物体来用texture_prefect();来加载多个纹理组,这样每次进入游戏都需要等非常久。大佬们有没有什么办法可以加载纹理保证游玩中不因为纹理卡顿,且不用每次进入游戏都等这么长时间(比如这个游戏第一次加载时间非常长,但以后再打开的话就不需要加载这么长时间了,这样的效果)
问题2:关于游戏随着实例增加后消失会变卡
当我生成许多实例,然后把他们都销毁(用instance_destroy),这样子累积多了,就算是当前房间内实例比较少,也会非常卡顿,即便是重置一遍房间,实例不多也依然会卡顿,请问大佬们这该怎么解决


IP属地:山东来自Android客户端1楼2024-03-10 01:36回复
    忘说了,用的是gms2


    IP属地:山东来自Android客户端2楼2024-03-10 01:38
    回复
      问题1解释:
      首先,内容的集中加载与释放必然造成一定程度的“等待时间”,这个部分连3A大作都普遍存在,GMS2作品咱很少听说有谁做到了这个体量。不过这部分做出来以后是防止“每次使用时出现卡顿”,而不是“每次开始游戏时的等待”。通常的方案是给这段等待时间添加一些内容(比如loading界面显示tips),以及合理安排loading的出现时机(不是游戏开始全部加载,而是根据关卡推进加载相关的部分)
      问题2解释:
      目前未观察到类似情况,咱这边以前做的是仿东方的弹幕,随时都有大量弹幕生成(每发一个instance,还会有一些发射器),并未发现过类似情况。建议检查一下这些实例动作是否存在类似“创建了数据结构但未销毁”的情况。或者考虑一下这些实例能否使用单个实例内的数据结构来替代,毕竟“看上去分离”的东西也可以是单实例多次draw动作的结果。


      IP属地:北京4楼2024-03-11 09:03
      回复
        把每一关的图片尽量都放到同一个纹理页面中,并且在游戏开始的时候再弄个loading,加载完所有纹理后再进入游戏就可以避免这种情况。


        IP属地:山东来自Android客户端5楼2024-03-18 12:55
        回复