maptalks / issues

Repo of issues for webgl layers
3 stars 0 forks source link

3dtile图层不断的加载数据内存爆掉 #785

Open deyihu opened 1 week ago

deyihu commented 1 week ago

不断的拖动地图,不断加载数据,内存容易爆掉

复现方法:上次我给的哪个3dtile地址,数据量比较大的那个,不断的拖动地图,不断的加载大量的切片即可复现

1.注意到LRU有remove数据 2.注意到有disposemesh数据

但是浏览器占用内存没有掉下来,不断地网上涨,能吃到七八个G,应该是哪里没有处理好

fuzhenn commented 1 week ago

麻烦帮忙定位一下是哪个版本出现的这个问题吧

deyihu commented 1 week ago

@fuzhenn 当前版本就有问题,我用的gl-layer编译的包测试的

fuzhenn commented 1 week ago

帮忙定位一下,具体是哪个版本开始出现(上个版本正常)的这个问题?

deyihu commented 1 week ago

这个问题一直存在 参考这个https://github.com/maptalks/issues/issues/37

deyihu commented 1 week ago

可能原因

  1. 浏览器GC的bug
  2. 3dtilelayer有些数据没有进行回收导致的
fuzhenn commented 1 week ago

好的,我这周会来复现解决一下

fuzhenn commented 18 hours ago

确实存在bug,现象是chrome的任务管理器里,标签内存虽然正常,但GPU内存占用会不停的增长。 后发现是在checkNPOT方法里,不停的创建无人管理的WebGLTexture对象导致。 该问题是在支持NPOT纹理时,不小心引入的bug,getUniqueTexture 应该挪到createREGLTexture中调用。