A combination of benchmarks for each class of device is necessary:
Create a set of benchmarking tools by selecting a benchmark in each domain to get to a comprehensive view of platform performance.
Data collection based on community effort is a necessity:
As well as defining criteria for determining benchmark quality:
Intel believes that good benchmarks should meet both of these two basic criteria:
- The benchmark uses real applications or benchmark applications executing real workloads, and be based on real-world scenarios and workflows
- The benchmark was designed with industry stakeholder input baked into the development process, guided by industry best practices and transparency
Some WebGL implementations support the failIfMajorPerformanceCaveat API:
var canvas = document.getElementById('renderCanvas'); var context = canvas.getContext('webgl', { failIfMajorPerformanceCaveat: true } ); When a context is requested on a computer with a block-listed driver, the failIfMajorPerformanceCaveat flag prevents IE from returning a software context, and instead returns no context.
To use it you just have to add it as an option to the getContext function:
Using this attribute, you can know that the current device isn't powerful or secure enough to run hardware accelerated 3D rendering. Then you can decide to use the software renderer, or if you prefer, let the user know their computer or graphics card aren't supported.
References
