如何从 A-Frame 中的内存中释放纹理?
How to deallocate texture from memory in A-Frame?
我想知道如何从特定场景中不再需要的资产中释放内存。目前,我们在场景中卸载资产后,我们的资产纹理会保留在内存中。
<a-scene>
<a-box src="texture.jpg"></a-box>
</a-scene>
编辑:处理纹理的最简单方法是获取实体的 material 并调用 material.map.dispose()
。例如this.el.getObject3D('mesh').material.map.dispose()
,直到A-Frame能够自动处理。
您可以从 document.querySelector('a-scene').systems.material.textureCache
和 运行 .dispose()
获取纹理对象。
或者,我相信你可以通过 document.querySelector('a-entity').components.material.material.map.dispose()
从实体中获取纹理。
自动执行此操作已提交问题:https://github.com/aframevr/aframe/issues/2166
我想知道如何从特定场景中不再需要的资产中释放内存。目前,我们在场景中卸载资产后,我们的资产纹理会保留在内存中。
<a-scene>
<a-box src="texture.jpg"></a-box>
</a-scene>
编辑:处理纹理的最简单方法是获取实体的 material 并调用 material.map.dispose()
。例如this.el.getObject3D('mesh').material.map.dispose()
,直到A-Frame能够自动处理。
您可以从 document.querySelector('a-scene').systems.material.textureCache
和 运行 .dispose()
获取纹理对象。
或者,我相信你可以通过 document.querySelector('a-entity').components.material.material.map.dispose()
从实体中获取纹理。
自动执行此操作已提交问题:https://github.com/aframevr/aframe/issues/2166