Is "IGRAPHICS_CPU" the most compatible graphics option?

I have been using the default NANOVG and GL2 graphics option for some time and it seems to be working well in most places, but…

I am aware that Apple has deprecated GL2 in favor of METAL. However, I tried releasing some plugins with METAL graphics and immediately got replies from some Mac users that it didn’t work - so I went back to GL2.

In the meantime, GL2 seems to work fine on most newer Windows machines but I recently discovered my plugins do not work my old laptop that doesn’t support GL2.

So I recently gave “CPU” graphics a try and found it works in all of these places. So, why not just stick with that option? Most plugins (except something graphics-intensive like Izotope RX) don’t have a heavy graphics load so may be CPU graphics is plenty?

IMO, universal compatibility is more important than a small hit to CPU load. Yes/no? Pros/cons?

At what point does “GPU” vs. “CPU” rendering make a difference?

Typically, if you want to do 60 FPS animations on high DPI screens, GPU options are preferable, but skia CPU is very fast and more universally compatible. Unfortunately, skia is a big library to provide us the default option, and you need to build it yourself if you want to remove the dependency on metal

1 Like

Thank you for the info.

I have built the SKIA library and “CPU” mode seems to work very well. I tried it in the past and it was very sluggish - so I chose not to use it - but it is working well now so I must have had a problem or setting somewhere that is since fixed, IDK.

My thoughts on this are that GPU support is another “soup de jure” variable on top of constant OS changes. What works here doesn’t work there, etc. If I can eliminate the GPU compatibility issues by going to CPU rendering then that is one less problem area and expands compatibility. Will do some more testing.

There was an IGraphics bug that was fixed not long ago that made bitmap rendering very slow with SKIA CPU.

1 Like

thanks for the awesome information.

1 Like