Skip to content

Instantly share code, notes, and snippets.

@zeux
Last active March 17, 2024 05:37
Show Gist options
  • Save zeux/cc7be14916e36c51eb56fb7ed372206b to your computer and use it in GitHub Desktop.
Save zeux/cc7be14916e36c51eb56fb7ed372206b to your computer and use it in GitHub Desktop.

State of Roblox graphics API across all platforms, with percentage deltas since EOY 2020. Updated December 31 2021.

Windows

API Share
Direct3D 11+ 92% (+3%)
Direct3D 10.1 5% (-2%)
Direct3D 10.0 3% (-0.5%)

Windows Store

API Share
Direct3D 11+ 96% (+1%)
Direct3D 10.1 3% (-0.5%)
Direct3D 10.0 1% (-0.5%)

Xbox

API Share
Direct3D 11 100%

MacOS

API Share
Metal 89% (+3%)
OpenGL 4.1 7% (-2%)
OpenGL 3.3 4% (-1%)

iOS

API Share
Metal 99.9% (+0.4%)
OpenGL ES 2.0 0.1% (-0.4%)

Android

API Share
Vulkan 1.1 71% (+24%)
Vulkan 1.0 14% (-9%)
OpenGL ES 3.2 8% (-2%)
OpenGL ES 3.1 4% (-5%)
OpenGL ES 3.0 3% (-5%)
OpenGL ES 2.0 1% (-2%)
@zeux
Copy link
Author

zeux commented Sep 30, 2021

Are you still using OpenGL ES 2 on Android? A better question, are these numbers about the maximum version the device supports or is it the actual API that roblox uses on that device?

Yes to ES2 - for 1% of our users. On your other question, these are numbers for the actual API used. It’s often the same as the maximum version but not always - when a device declares that it supports Vulkan or ES3 but critical parts of that API don’t work correctly due to driver bugs we fall back to previous API tier. I would be surprised if a sufficiently complicated app is able to use a given graphics API when we can’t though, we’re reasonably aggressive about working around issues like that on our end.

@tabby0x
Copy link

tabby0x commented Jun 30, 2023

This is actually very interesting!,

I wanted to ask. is Vulkan being used a lot more on android in 2023? Because of how future works, as its still disabled by default on any OpenGL renderer on desktop or mobile. Which is understandable considering how just horrible OpenGL performance can be. Asking this as sometimes the fallback to ShadowMap is really detrimental to some of my experiences.

Another question i had as i used to watch your older videos from roblox and they were quite impresssive!

Why has the VoxelGPUCascaded system actually been removed back then? Was that system even compatible with mobile in terms of performance? Bbecause it looked AWESOME with the sharp shadows and more accurate lights, looking nearly like Future's per pixel lighting implementation!

And lastly, why are certain things such as Specular Highlights, Metallic Maps and PBR in general not functioning on any technology that isnt using Per Pixel lighting? I am not a graphical engineer so I'm just curious as to why thats the case.

Thanks for reading if you come across this! I love your work and i hope roblox will continue becoming more awesome!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment