2017-02-23 65 views
2

我想知道如何從特定場景中不再需要的資產中分配內存。目前,我們在場景中卸載資產後,我們的資產紋理仍留在內存中。如何從A幀中的內存釋放紋理?

<a-scene> 
    <a-box src="texture.jpg"></a-box> 
</a-scene> 

回答

3

編輯:處理紋理最簡單的方法是抓住一個實體的材料,並致電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