Lately, I have been exploring the world of Three.js to create impressive 3D scenes in WebGL. To ensure compatibility for all users, I have also developed versions using Three's CanvasRenderer which may not be as detailed but can still function on browsers without WebGL support (such as Safari if WebGL is disabled).
However, I recently discovered that web browser compatibility is not the only factor to consider. It's also important to take into account whether a user's hardware is powerful enough to handle WebGL rendering efficiently (i.e., running at a smooth 60 fps). While there is abundant data on web browser usage statistics, information about users with hardware capable of optimal WebGL performance is harder to come by.
What percentage of the population, assuming they are using a WebGL-compatible browser, can actually run a typical WebGL page at 60 fps? And if a significant portion struggles with WebGL rendering, what would be the most effective way to detect hardware limitations? A JavaScript-based solution would be preferable since we are already familiar with Three.js in that language.
It's possible that I may be overlooking something here, as this issue doesn't seem to be widely addressed in the realm of WebGL development. If anyone has insights or suggestions on how to navigate this challenge when working with Three.js, I am eager to learn and adapt for future projects.