[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Public WebGL] context loss, slowdowns and aw-snap dialogs

When allocating resources via WebGL there is a point at which you will experience dramatic slowdowns in rendering performance due to virtualization of vram to ram (in some instances) and sometimes even to page-swap.

Likewise, if a sudden context loss is experienced while a user is operating the app, it's often the case that some unseen boundary of ram has been stepped over.

Sometimes these context losses can take the GPU process with them, and you'll get aw-snap dialogs, sometimes you'll get those despite the GPU process chugging along.

Recovering mid-run from a context loss is a harrowing experience. Morever it is likely that trying to do so will end up in hysteresis because in restoring the resources that caused the context loss, another context loss will be provoked.

Dealing with slowdowns of unknown origin can be difficult, because you don't know if a given UA/machine is running slow because it is just slow for other reasons, or if it's running slow because you caused virtualization to ram or page-swap.

From this it is fairly clear that the situation we find ourselves in is not conductive to a smooth user-experience. It is therefore absolutely mandatory that a cross-vendor way be introduced to detect how much vram you can consume before you will experience slowdowns, virtualizations, page-swaps, context losses, aw-snaps and GPU process crashes.

Shotgunning everything at the vram wall and dealing with the carnage when it happens is not a sustainable way to go about writing reliable, fast, responsive and performant applications.