> can you make it detect the device somehow, maybe with some additional permissions, instead of user selecting from a dropdown?
Detecting CPU and GPU specs browser-side is almost impossible to do reliably (even if relying on advanced fingerprinting and certain heuristics).
For GPU’s, it may be possible to use (1) WebGL’s `WEBGL_debug_renderer_info` extension [0][0] or (2) WebGPU’s `GPUAdapter#info` [1][1], but I wouldn’t trust either of those API’s for general usage.
Jay you seem knowledgeable on this - thanks for answering - I have a question
I did look at auto-detecting before, but it seems like you can only really tell the features of a GPU, not so much the good info (VRAM amount and bus speed) - is that the case?
I looked at the GPUAdapter docs, and all it told me was:
- device maker (amd)
- architecture (rdna-3)
and that was it. Is there a way to poke for bus speed and vram amount?
> Is there a way to poke for bus speed and vram amount?
Unfortunately, I’m not aware of any way to reliably get this type of information browser-side.
If you really want to see how far you can get, your best bet would be via fingerprinting, which would require some upfront work using a combination of the manual input you already have now and running some stuff in the background to collect data (especially timing-related data). With enough users manually inputting their specs and enough independently collected data, you’d probably be surprised at how accurate you can get via fingerprinting.
That said, please do NOT go the fingerprinting route, because (1) a lot of users (including myself) hate being fingerprinted (especially if done covertly), (2) you need quite a lot of data before you can do anything useful, and (3) it’s obviously not worth the effort for what you’re building.