I know this was answered elsewhere, but I cannot find it like that ....
preserveDrawingBuffer: false
means that WebGL can replace buffers instead of copy buffers.
WebGL canvases have 2 buffers. The one you are drawing and being displayed. When it comes time to draw a web page, WebGL has 2 options
Copy the drawing buffer to the display buffer.
This operation is slower because copying thousands or millions of pixels is not a free operation.
Change two buffers.
This operation is effective instantly, since nothing should happen except to exchange the contents of two variables.
Regardless of whether exchanging or copying WebGL in the browser and other other parameters, but if preserveDrawingBuffer is false , WebGL can change if it cannot true .
If you want to see the difference in perfection, I suggested trying your application on a mobile phone. Make sure that anti-aliasing is turned off, because anti-aliasing requires a resolution step that effectively copies the operation.
source share