Just want to mentioned that I did consider to suggest high-performance
as a default but it is actually not recommended by the WebGL spec.
high-performance
: Indicates a request for a GPU configuration that prioritizes rendering performance over power consumption. Developers are encouraged to only specify this value if they believe it is absolutely necessary, since it may significantly decrease battery life on mobile devices. Implementations may decide to initially respect this request and, after some time, lose the context and restore a new context ignoring the request. Applications that requesthigh-performance
should test and maintain robust context loss handling, as User Agents are very likely to decide to lose backgroundhigh-performance
contexts.
So three.js
uses default
which means some devices/browsers might decide to not use the dedicated GPU.