I posted this on the Discord as well as here, for better chances of being answered. Will update both of them with the best answer this can have, once I have one.
Given how compatibility has expanded, and as old devices are naturally being retired, how bad is compatibility in 4.x, really? As I understand, the compatibility renderer in 4.6 is really GLES3 and it’s supposedly not as compatible with older devices, but how old are we talking about here?
From what I understand, desktop integrated graphic cards since at least the mid 2010’s can support GLES3 (which I am assuming automatically supports WebGL 2.0). Is that really true? I’m confused because when people say “older devices”, what does that really mean? How old? There is no hard line of when computer components start and stop supporting a feature, it’s all gradual, but when did the shift was significant enough that most users would have it at that point?
Also, to my understanding, Godot 3.x LTS is really for older games which still use Godot 3, and not for new games?
TL;DR: How old does a phone have to be for it to support or not a game made in Godot 4.x? And how old does a PC (or browser?) be to support or not a game made in Godot 4.x?
Your right that there isn’t a hard line, “Old” isn’t a good metric. Even new devices can fail to support Vulkan or choose not to, and special cases are made for some popular machines like Apple devices. Generally integrated and smaller GPUs will work better with GLES, the hardware has been built with it in mind; where bulky dedicated GPUs are built with modern pipelines in mind and will run better with Vulkan/DX12.
At the end of the day you’ll have to test and see, I’d love for someone to post a chart of graphics APIs on the Y axis and GPUs/Chipsets on the X axis, but that data is hard to get as you’ve mentioned devices can be updated to add support and enhance. Even if one supports Vulkan it may be in a poor state, but generally GLES will function. If you intend to make your game for the web or mobile platforms you should use compatibility, if you really benefit from high quality visuals or want to target mobile gamers with higher end devices bumping it to Mobile if you see fit.
Is it fine for an entire studio to not use 3.x for anything, then? Because, how much older is support for GLES2 vs GLES3? Like, early 2000’s vs mid 2010’s?
Because, for a studio just starting out (of which I’m in one), losing target audience is never a good thing, but if the cut is around mid 2010’s between GLES3 vs GLES2, it might be advantageous to use the better features of 4.x in lieu of the technically higher target audience of 3.x…
Well GLES3 debuted in 2012; but not long after GLES2 in 2007. If a device supports GLES2 but not GLES3 it’s rare, and maybe an intentional choice rather than showing age.
Worth noting GLES3 is supposed to be backwards compatible with GLES2.
Looks like khronos does keep a database of devices and the support for various GLES versions, though it’s not fun to sift through.
Sorry and back on topic Godot 3 was the best choice for web builds specifically because up to Godot 4.3 you could only export threaded web builds which had (and remains to have) little support from online publishers. This got a lot of attention so digging through archives may swear off of Godot 4, but for a year or two now you can export single threaded builds in ≥4.3. Godot 3 also produces smaller builds, this is simply due to having less features, and while you can reduce builds by excluding some features I believe Godot 3 templates still builds smaller when excluding 3D entirely.
I’d say if you are certain you do not and will not use any of the major upgrades from Godot 4, many of which are for 3D rendering and user interfaces, and are never tempted by new and shiny things, then maybe Godot 3 would be a better choice solely for shaving off megabytes from your install size as an App or download size as a Web game. GLES device compatibility will very likely be there for you no matter your choice.