Hallo,
Ik ben bezig aan een webapplicatie die nogal zwaar leunt op animaties (zowel CSS als jQuery). Het probleem is dat het op iets tragere pc's totaal niet vloeiend is. (op 1440x900 resolutie wel, op 1920x1080 niet op diezelfde pc, op Chrome) De code is al vrij ver geoptimaliseerd. Daarom dacht ik om bij het laden van de pagina een snelle "benchmark uit te voeren" die de grafische performance meet, en op basis van die gegevens enkele effecten in of uitschakelen.
Ik heb echter geen idee hoe ik zoiets maak. Het zou dus een stukje javascript/jQuery code zijn die mdv een of andere methode de grafische snelheid van de browser test.
Ik weet dat ik de snelheid kan meten met:
Maar hoe test ik specifiek de grafische kracht, en liefst compatibel met zoveel mogelijk browsers?
Ik dacht aan iets zoals een canvas een paar duizend keer drawen, maar dat werkt niet in alle browsers.
Nog beter zou natuurlijk zijn om gewoon de framerate van de animaties te kunnen uitlezen, maar daarvoor zijn nogal wat scripts nodig: https://github.com/mrdoob/stats.js
Ik ben bezig aan een webapplicatie die nogal zwaar leunt op animaties (zowel CSS als jQuery). Het probleem is dat het op iets tragere pc's totaal niet vloeiend is. (op 1440x900 resolutie wel, op 1920x1080 niet op diezelfde pc, op Chrome) De code is al vrij ver geoptimaliseerd. Daarom dacht ik om bij het laden van de pagina een snelle "benchmark uit te voeren" die de grafische performance meet, en op basis van die gegevens enkele effecten in of uitschakelen.
Ik heb echter geen idee hoe ik zoiets maak. Het zou dus een stukje javascript/jQuery code zijn die mdv een of andere methode de grafische snelheid van de browser test.
Ik weet dat ik de snelheid kan meten met:
code:
1
2
3
4
5
6
7
8
9
| var start = new Date().getTime();
for (i = 0; i < 50000; ++i) {
// do something
}
var end = new Date().getTime();
var time = end - start;
alert('Execution time: ' + time); |
Maar hoe test ik specifiek de grafische kracht, en liefst compatibel met zoveel mogelijk browsers?
Ik dacht aan iets zoals een canvas een paar duizend keer drawen, maar dat werkt niet in alle browsers.
Nog beter zou natuurlijk zijn om gewoon de framerate van de animaties te kunnen uitlezen, maar daarvoor zijn nogal wat scripts nodig: https://github.com/mrdoob/stats.js