Sto sviluppando un'applicazione WebGL per Web e dispositivi mobili. Io uso spesso aggiornamenti duri per testare i risultati della mia implementazione WebGL. Dopo tentativi vista, ottengo l'errore:Come liberare e garbage raccogliere un contesto WebGL?
Error: WebGL: Exceeded 16 live WebGL contexts for this principal, losing the least recently used one.
Questo non appare su un browser fresco iniziata, ma dopo l'aggiornamento del sito più volte. Immagino che i contesti WebGL non siano finiti, rilasciati, distrutti, ripuliti, liberati correttamente.
Come posso fare questo?
Khronos Group ha creato una suite di test per la liberazione e la spazzatura raccolta contesto WebGL qui: https://www.khronos.org/registry/webgl/sdk/tests/conformance/context/context-creation-and-destruction.html (Nota: Questo potrebbe andare in crash il browser!)
Il test attraversa con PASS
e TEST COMPLETE
, quindi fondamentalmente il test non rileva qualsiasi problema Tuttavia, aprendo la console JavaScript, legge 33 istanze di:
Error: WebGL: Exceeded 16 live WebGL contexts for this principal, losing the least recently used one.
È questo un bug nel modo in cui WebGL è gestito dal browser? O sto facendo qualcosa di sbagliato? Non ho mai pensato di liberare qualsiasi contesto WebGL.
Sto utilizzando Firefox Developer Edition 48.0a2 e Firefox 46.0.1.
Come liberare e garbage raccogliere un contesto WebGL?