Ask questionsWebGLPointsLayer Performance Issues

Initial Report

I've got 4 WebGLPointsLayers rendering about 15 000 points total using 1 spritesheet of 1024x512 resolution. My GTX 1050 runs it fine, but I recently discovered that it eats about 3GB of VRAM to do this. I also found that the GPU while in high performance mode idles at about 4% but any panning or zooming and it shoots up to about 80%.

  • Is this surprising or unexpected?

  • If it is surprising, what can I gather in terms of context/dumps/logs to support understanding the problem? (I suspect trying it in other browsers and on other machines might help)

  • Are there any performance best practices for WebGLPointsLayer?

  • Is it useful to be discussing this kind of thing, or are we still in very early stages of "experimental" and major performance issues are unsurprising and not all that useful at the moment?

I appreciate that this is an experimental feature. I'm not sure where else to open discussions on what I discover, but I hope that they are useful in some manner.

Edit: Attempted with AMD GPU

I tried the same application on my other PC running an AMD RX580 and get the same behaviour. Panning takes 80% GPU until I stop, and about 700MB of VRAM per WebGLPointsLayer instance.

Next steps

Unless someone jumps in and explains it and that more work is a waste of time, I'm going to assemble a minimum build with one of the layers and keep incrementing it towards my application's setup until I better understand what inputs cause such huge resource costs.


Answer questions ablakey

Looks like I don't need to make a sandbox just yet. has the effect of pinning my GPU utilization to 80% just by panning around non-stop. I can reproduce this on my GTX 1050 and my RX580.

I'm not sure how to profile a WebGL application. I installed the "WebGL Insight" chrome plugin but it doesn't exactly tell me a lot that I understand.

I can also reproduce this in Firefox. Though utilization caps at about 50% and FPS is locked at 30.

VRAM usage for the example linked about is about 400MB for both browsers.

What I haven't been able to try is Windows (all these tests are on two Ubuntu 18.04 machines with proprietary drivers). I will try this soon and report back.


Related questions

Memory leak in Openlayers 6 beta hot 1
Click event on specific layer issue in OpenLayers 5 hot 1
Ol3 with mbtiles hot 1
Canvas elements not garbage collected on iOS 12 hot 1
Github User Rank List