2017-05-12 3 views
1

Je construis une application web qui a des images à 360 degrés chargées dans une primitive a-sky. J'utilise aframe-react. Il y a un total de 20+ images à 360 degrés et un seul élément img à l'intérieur de a-assets. Une fois que l'utilisateur change de scène, la réaction change src de l'élément img et la scène s'affiche à nouveau. Tout fonctionne bien, mais il utilise beaucoup de mémoire à cause de la mise en cache. Une fois, il a utilisé 4 Go de mémoire. Dans le mobile, la page Web se bloque après la commutation des images ~ 8 +. Comment puis-je gérer cette situation?Comment gérer la mémoire utilisée par A-Frame?

J'ai essayé d'examiner THREE.Cache mais les images n'y sont pas mises en cache.

Cette utilisation de la mémoire a-t-elle un rapport avec l'utilisation de React?

+0

Peut-être que du code serait utile? Boules de cristal un peu difficile à trouver ces jours-ci ... – pailhead

Répondre

1

Il y a un problème pour A-Frame à gérer automatiquement, mais il faut maintenant contourner pour effacer les textures.

AFRAME.scenes[0].systems.material.textureCache[url].then(function (texture) { 
    texture.dispose();  
}); 
+0

Wow, merci. 'textureCache [url]' n'a pas fonctionné pour moi. Utilisé 'Object.keys (textureCache)' pour itérer et disposer des textures. – AKT