JSFiddle - React, Tailwind, and code Playground
HTML
<canvas id="renderCanvas" />
JavaScript
var setupLeakTime = 100;
var renderCanvas = document.getElementById('renderCanvas');
var gl = renderCanvas.getContext('webgl');
gl.clearColor(1, 0, 1, 1);
var leakMode = true;
setInterval(() => {
leakMode = !leakMode;
}, setupLeakTime);
var raf = () => {
window.requestAnimationFrame(renderLoop);
}
var renderLoop = () => {
if (leakMode) {
var size = 16 + Math.ceil(Math.random() * 2032);
renderCanvas.width = size;
renderCanvas.height = size;
leakMode = false;
}
gl.clear(gl.COLOR_BUFFER_BIT);
raf();
};
raf();