Big WebGL plotting speed regression

31 views (last 30 days)
f
f on 10 Dec 2025 at 14:13
Answered: Star Strider on 10 Dec 2025 at 21:40
With the new WebGL versions (R2025a, R2025b), I am experiencing a major regression when plotting a large graph.
>> G
G =
graph with properties:
Edges: [1223248×19 table]
Nodes: [1150138×3 table]
>> plot(G, "EdgeCData", rescale, "XData", G.Nodes.x, "YData", G.Nodes.y, 'Marker', 'none');
On R2024b, this takes a few seconds to produce a usable and zoomable image.
>> opengl info
Warning: The opengl function will be removed in a future release. Use the rendererinfo function instead.
Version: '2.1 Mesa 17.1.3'
Vendor: 'Brian Paul'
Renderer: 'Mesa X11'
MaxTextureSize: 16384
Visual: 'Visual 0x9a, (RGBA 32 bits (8 8 8 8), Z depth 16 bits, Hardware acceleration, Double buffer, Antialias 0 samples)'
Software: 'true'
HardwareSupportLevel: 'none (known graphics driver issues)'
SupportsGraphicsSmoothing: 0
SupportsDepthPeelTransparency: 1
SupportsAlignVertexCenters: 0
Extensions: {152×1 cell}
MaxFrameBufferSize: 16384
On R2025b, the same command slows Matlab down to a hang, with the CPU stuck over 200%.
>> rendererinfo
ans =
struct with fields:
GraphicsRenderer: 'WebGL'
Vendor: 'Google Inc. (Google)'
Version: 'WebGL 2.0 (OpenGL ES 3.0 Chromium)'
RendererDevice: 'ANGLE (Google, Vulkan 1.3.0 (SwiftShader Device (Subzero) (0x0000C0DE)), SwiftShader driver)'
Details: [1×1 struct]
My system is a i5-1135G7 with 16GB RAM and Intel IRIS Xe Graphics (TigerLake-LP GT2), running Ubuntu 24.04.3.
  3 Comments
f
f on 10 Dec 2025 at 18:40
Edited: f on 10 Dec 2025 at 18:41
I can reproduce the bug with any large graph, for instance
rng(0); G = graph(sprandsym(1e5, 1e-4)); plot(G)
dpb
dpb on 10 Dec 2025 at 21:12
Wonder if it would reveal anything to try to time a series of increasing sized graph plots to see if there is a breaking point or if it just scales?
My opinion would be it's worthy of an official support request; if specific issues aren't reported officially, Mathworks will have no knowledge of such issues as are arising with the new engine.

Sign in to comment.

Answers (1)

Star Strider
Star Strider on 10 Dec 2025 at 21:40
When I ran:
rng(0); G = graph(sprandsym(1e5, 1e-4)); plot(G)
on my desktop (AMD Ryzen Threadripper PRO 7955WX 16-Cores, NVIDIA TU117GL [T1000 8GB]) systmem, that entire code required about 7 seconds including rendering, with tic toc giving a 2 seconds execution. No warnings.
My laptop (AMD Ryzen 9 PRO w/ Radeon 780M Graphics) gsve about the same results (7 seconds and 2 seconds), however MATLAB displayed: 'Warning: Hardware-accelerated graphics is unavailable. Displaying fewer markers to preserve interactivity.'
You might also run your test code in MATLAB Online. It should give the same results I got here.
I had a similar problem earlier this year that was magically solved with an Ubuntu update while MathWorks was working with me to solve it. The os-release information I can get only tells me that I have 24.04.3 and not any of the subsequent updates. I suggest that if you have not already done so, complttely update Ubuntu. The 'Software Updater' funciton should do this for you automatically when you invoke it.
.

Categories

Find more on Graphics Performance in Help Center and File Exchange

Products


Release

R2025b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!