I am currently working on a website that utilizes angularjs along with the ng-route directive for navigation between different views. The site also incorporates Three.js for WebGL rendering on canvas. However, I am encountering difficulties as the application keeps crashing consistently on Chrome for Android and IE11.
Identifying the exact issue has proven to be challenging, making it hard for me to provide a concise error case that can be reproduced. This is where I need assistance - pinpointing the root cause of the problem.
After some investigation, I have narrowed down the potential culprit to the ng-route view switching combined with frequent re-initialization of Three.js renderers and scenes. I suspect that the problem may be related to an error code (887a0005) I received while testing on IE11, indicating "the gpu device instance has been suspended." Unfortunately, this error message does not offer much insight into resolving the issue.
The 887a005 error seems to occur when adjusting the size of the WebGlRenderer within the Three.js library, specifically at line 18317 in revision 71:
_gl.viewport( _viewportX, _viewportY, _viewportWidth, _viewportHeight );
The application functions smoothly unless there is excessive navigation activity, leading to crashes on Chrome for Android after a certain number of view-switches.
Where should I begin looking for the underlying cause? Could this possibly be a memory-related issue? How can I further narrow down my investigation?
It's worth noting that I am not using angularjs to manage object lifecycle for creating threejs views. Could this decision be contributing to the problem?
Any guidance would be greatly appreciated, and please let me know if this query is suitable for stackoverflow or requires more specific details!