Skip to content

Instantly share code, notes, and snippets.

@zeux
Last active December 28, 2020 15:22
Show Gist options
  • Star 12 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save zeux/e2952fd3c6570616ab618d88b5b557e2 to your computer and use it in GitHub Desktop.
Save zeux/e2952fd3c6570616ab618d88b5b557e2 to your computer and use it in GitHub Desktop.

State of Roblox graphics API across all platforms, with percentage deltas since EOY 2017. Updated December 17 2018

Windows

API Share
Direct3D 11+ 80% (+3%)
Direct3D 10.1 10% (-1%)
Direct3D 10.0 8% (-1%)
Direct3D 9 2% (-1%)

Not much visible change, although D3D9 is slowly going away.

For Direct3D 9 users, we can further break this down by OS (XP or Vista+) and GPU (SWVP or HWVP):

Setup Share
XP SWVP 5% (-1%)
XP HWVP 25% (-1%)
Vista+ SWVP 44%
Vista+ HWVP 26% (+2%)

As you can see, 2/3rds of Direct3D 9 users come from Vista+ (mostly Win7+); around half of all Direct3D 9 users use SWVP with vertex shaders running during DrawIndexedPrimitive on CPU.

Windows Store

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

Not much visible change - similarly to Windows desktop, market very slowly gets better hardware. We do not support Direct3D feature level 9, so it's unclear how many users have D3D9 HW.

Xbox One

API Share
Direct3D 11 100%

One day we might invest in Direct3D 12, but this hasn't happened yet.

MacOS

API Share
Metal 66% (+14%)
OpenGL 4.1 19% (-9%)
OpenGL 3.3 12% (-4%)
OpenGL 2.1 3% (-1%)

A bit of data movement suggesting a number of people got new MacBooks, or upgraded their OS. Yay!

Approximately half of OpenGL 4.1 users are using OSX 10.10 or earlier; this suggests that they could get Metal support if they upgraded the OS. Assuming this is true, ~25% of our Mac users are stuck with OpenGL until they buy new hardware.

iOS

API Share
Metal 95% (+9%)
OpenGL ES 2.0 5% (-9%)

A bit of data movement suggesting a number of people got new iPhones. Metal is at 95%!!! We are no longer using ES 3.0 on iOS (we previously used it on iOS 8, but we've switched to ES 2.0 for these devices instead to simplify maintenance).

Android

API Share
OpenGL ES 3.2 4% (-12%)
OpenGL ES 3.1 21% (-3%)
OpenGL ES 3.0 28% (-4%)
OpenGL ES 2.0 19% (-8%)
Vulkan 28% (+27%)

Note that this section changed dramatically - in part because we launched Vulkan on all Android versions and devices, and in part because Android market is moving along. Market share for ES2 class devices dropped dramatically which is good to see, although it'll take years to get to something more similar to iOS...

For Vulkan users, we can additionally look at the OS distribution:

Version with Vulkan Share
Android 7.0 (24) 25%
Android 7.1 (25) 9%
Android 8.0 (26) 41%
Android 8.1 (27) 25%
Android 9.0 (28) <1%

Android 7.0 share among Vulkan-capable devices is steadily declining - when we launched Vulkan support everywhere in February this year, Android 7.0 represented the vast majority of devices. Drivers that typically ship on Android 7.0 are very early and full of bugs that are hard to work around; we plan to switch to OpenGL ES for these devices next year, which would reduce the Vulkan market share but simplify maintenance for us dramatically.

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