Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 照片球体查看器使浏览器变慢_Jquery_Canvas_360 Panorama_Photosphere_Photosphereviewer - Fatal编程技术网

Jquery 照片球体查看器使浏览器变慢

Jquery 照片球体查看器使浏览器变慢,jquery,canvas,360-panorama,photosphere,photosphereviewer,Jquery,Canvas,360 Panorama,Photosphere,Photosphereviewer,我正在使用PhotoSphereViewer显示360幅图像。我有一个菜单的底部与其他360图像。当我单击其中一个图像时,光球会更改查看器中的图像。更改图像大约3次或更多次后,浏览器会变慢 我使用的方法是jquery中的“empty()”来擦除旧的全景图像,然后再次加载“photoSphereViewer”,我认为这就是问题所在。出于某种原因,当我使用empty时,不会删除缓存中的图像,过了一段时间后,它会变慢。我知道有一种方法可以用“setPanorama”更改全景图,但当我尝试时,控制台显示

我正在使用PhotoSphereViewer显示360幅图像。我有一个菜单的底部与其他360图像。当我单击其中一个图像时,光球会更改查看器中的图像。更改图像大约3次或更多次后,浏览器会变慢

我使用的方法是jquery中的“empty()”来擦除旧的全景图像,然后再次加载“photoSphereViewer”,我认为这就是问题所在。出于某种原因,当我使用empty时,不会删除缓存中的图像,过了一段时间后,它会变慢。我知道有一种方法可以用“setPanorama”更改全景图,但当我尝试时,控制台显示一个错误,即PSV(变量)不是函数

        //here is the panorama add it to the dom
        $(window).load(function(){

                PSV = new PhotoSphereViewer({
                    panorama: '',
                    container: 'photosphere',
                    default_fov: 65,
                    mousewheel: false,
                    loading_img:'img/loader3.gif',
                    cache_texture:0,
                    transition:{duration:1500, loader:true},

                }); 

        });

        //then a function with ajax (im using php) that set the URL:

            $.ajax({

            type:'post',
            url:'query/menu_r.php',
            data:{consulta:consulta, codigoFull:codigoFull},
            success:function(data){

                ruta = "content/"+recinto+"/"+vista+"/cu"+silestone+"/"+calidad+"/";
                ruta = ruta+data;

                //vacío container del 360.
                //$("#photosphere").empty();

                PSV.setPanorama(ruta, null, true );



            }        
    })

使用旧方法(清空容器并添加新的全景图)是可行的,但我有这个性能问题。因此,我需要找到一种方法来清理缓存或设置全景,而不必每次都重新创建它。有什么想法吗?谢谢

我终于找到了解决办法。如果有人有一天需要它,我就把它放在这里。我最终使用了Pannellum图书馆,并与作者进行了交谈。他给了我一个非常简单有效的解决方案。只需加载一个查看器,并使用“addScene”和“removeScene”之类的方法,garbabe收集器就不会加载,而且一切都运行得很好。如果有人需要更多信息,以下是线索:


干杯

我尝试了另一个图书馆“Pannellum”,同样的情况也发生了。将panorama 360图像更改4或5次后,浏览器将变慢。我真的不知道怎么修。