Detecting Users Graphics API?

Hey!
Is there a way to detect what graphics API a player is using? [DirectX, Vulkan, GL3, Metal, etc]

I’m looking to optimise maps of over 200k instances [mostly trees, plants, rocks]. Currently it’s getting stable 60FPS on my PC, and even 40FPS on an iPhone5s, but other devices may missing an optimisation feature called Instancing used to drastically speed up rendering of identical geometry. Detecting the users graphics API would allow me to make optimisations before their device melts in their hands~

Thanks yall! :3

If you’re looking to learn about instancing, heres an amazing post:

Check out RenderSettings’s GraphicsMode:

local renderSettings = game:GetService("RenderSettings")
local graphicsMode = renderSettings.GraphicsMode

if graphicsMode == Enum.GraphicsMode.Direct3D11 then
    -- stuff
end
1 Like

Hi, thanks for the response! though this is limited to plugins and command bars only.
Determining a device profile could be another viable means, but Boblox is very against this :confused:

1 Like

Ah, sad, well this is the only thing i’ve found, so pretty much the solution to this problem is, its not possible, and there doesnt seem to be a workaround.

1 Like

Yea, kinda disappointing.
There’s one more possible solution: A benchmark used to determine the not rendering API, but it’s capabilities. In some areas there are clear fingerprints that allow detection of capabilities, the hard part is making it a fast and unnoticeable process.
ps. If no one else responds I’ll mark your prev response as the solution, thanks again :3

1 Like

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.