Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/8.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
Memory 全景漫游的内存管理_Memory_Aframe_Panoramas - Fatal编程技术网

Memory 全景漫游的内存管理

Memory 全景漫游的内存管理,memory,aframe,panoramas,Memory,Aframe,Panoramas,构建iPhone局部全景之旅。 其中大约有40多个,移动设备上的内存似乎已经用完了 此外,使用版本A-frame 0.5.0,下面的代码可以在桌面上运行,但在最新版本0.9.2中不起作用 <a-entity id="pano_01" visible="true"> <a-curvedimage asset-on-demand="src: ../Html_Templates/pix/Upgrade.jpg" height="145" radius="100" theta-leng

构建iPhone局部全景之旅。 其中大约有40多个,移动设备上的内存似乎已经用完了

此外,使用版本A-frame 0.5.0,下面的代码可以在桌面上运行,但在最新版本0.9.2中不起作用

<a-entity id="pano_01" visible="true">
<a-curvedimage asset-on-demand="src: ../Html_Templates/pix/Upgrade.jpg" height="145" radius="100" theta-length="300" rotation="0 33 0"></a-curvedimage>
<a-sky asset-on-demand="src: ../Html_Templates/pix/Upgrade_sky.jpg" rotation="0 -90 0"></a-sky>
<a-image asset-on-demand="src: ../Html_Templates/pix/UI_Next.png" position="0 -0.5 -3" scale="0.35 0.35 0.35" onclick="setpano_02()"></a-image>
</a-entity>

<a-entity id="pano_02" visible="false">
<a-sky asset-on-demand="src: ../Html_Templates/pix/JRO_Arrive_sky.jpg"></a-sky>
<a-curvedimage asset-on-demand="src: ../Html_Templates/pix/JRO_Arrive.jpg" height="140" radius="100.0" theta-length="300" rotation="0 60 0"></a-curvedimage>
<a-image asset-on-demand="src: ../Html_Templates/pix/UI_Next.png" position="1 -0.5 -3" scale="0.35 0.35 0.35" onclick="setpano_03()"></a-image>
<a-image asset-on-demand="src: ../Html_Templates/pix/UI_Back.png" position="-1 -0.5 -3" scale="0.35 0.35 0.35" onclick="setpano_01()"></a-image>
</a-entity>
我的期望是asset on demand脚本将有助于释放内存资源,但它似乎不适用于此策略。 此外,我还希望最新版本的A-Frame能够改善内存管理


(我希望这个问题现在措辞更恰当)。

有一个自定义组件,名为按需帧资产。

它动态加载图像作为资产,并将其从内存中删除。 这可能会解决您的图形内存问题

“在不再需要时从内存中删除资源。如果只是从实体中删除纹理,它将不会完全从THREE.JS中删除,并且仍然使用宝贵的内存(特别是在移动设备上)。A-Frame Asset OnDemand确保以释放内存的方式删除资源。”


我通过谷歌搜索“动态加载资产框架”发现了这一点。

请阅读,然后相应地回答您的问题。事实上,你的问题可能太宽泛了。此外,“不工作”不是一个有用的问题描述。请将您的代码添加为。当你运行它时会发生什么?你以为会发生什么?有错误吗?谢谢你的回复。我实际上使用的是按需资产组件。就获取资产而言,它是有效的,但它似乎确实在高效地完成清算部分。由于我使用了切换实体部分的可见性的策略,我怀疑它可能不适合组件的方案。另外,有趣的是,代码在0.5.0版本下运行良好。但在新版本下不会。我非常希望获得帮助,使其与当前版本0.9.2保持同步。我建议将项目简化为单个加载映像和删除,并监视vram,以查看是否在删除时清除内存。我看不出实体可见性的改变会如何影响资产的删除,但可能是某种原因阻止了图形卡释放内存。当图像的简单添加和删除工作正常时,慢慢添加其他功能,并注意何时开始出现故障。
function setpano_01() {
 document.getElementById('pano_01').setAttribute('visible', 'true')
 document.getElementById('pano_02').setAttribute('visible', 'false')
}
function setpano_02() {
 document.getElementById('pano_01').setAttribute('visible', 'false')
 document.getElementById('pano_02').setAttribute('visible', 'true')
 document.getElementById('pano_03').setAttribute('visible', 'false')