Lezen is en blijft een kunst natuurlijk. Hier is even alle verschillende info uit verschillende threads bij elkaar geraapt en in hapklare brokken samengevat:
Het is niet zo zeer een alternatieve driver als een gepatchte driver. Er zitten twee andere drivers (CL en D3D) bij voor compatibiliteit met wat andere games, maar dat is niet waar de patch echt om draait. Het draait echter vooral om de v1 CM driver ( == de meest gebruikte OpenGL driver) en de v2 driver, die middels vervanging van de libEGL module gepatched is.
De grote grap is tweeledig:
(1) GL Configuratie.
In een aantal oudere HTC modellen zat een bug in de drivers waardoor de GL configuratie (hoeveel bits RGB, alpha, dieptebuffer, etc) vaak niet goed ging, tenzij je gewoon helemaal geen preferentie opgaf - dan kreeg je wel een werkende configuratie. Als gevolg hiervan zijn er veel apps die GL dus niet goed configureren voor gebruik.
Normaliter zou dat nog steeds geen problem zijn, ware het niet dat de Snapdragon drivers opeens nieuwe GL configuraties hebben van 4 bits per R/G/B, wat zowel lelijk beeld geeft als tergend langzaam is (wellicht zit er ergens een fout in de conversie).
An sich is dat natuurlijk geen driver "bug" maar wel een onverwachtse wijziging in hoe GL werkt op HTCs. Overigens hebben veel van de apps en games van de 'grote jongens' hier geen last vast. Die proberen vaak eerste een configuratie op te geven, werkt dat niet, dan pas proberen ze 'geen configuratie'. Zo fiets je mooi langs het probleem af.
De patch zorgt ervoor dat deze 4 bits per R/G/B modes magischerwijs verdwijnen, wat dit probleem dus oplost voor een aantal apps en games.
(2) Frame skipping/lagging
Het andere - en vagere - probleem heeft met frame skipping (gebrek aan een betere omschrijving) te maken. Dit is wel een regelrechte bug in de drivers.
Er is iets heftigs mis met interne synchronisatie in of de drivers of de hardware. Het blijkt ondertussen dat de Acer F1 en de TG-01 dit probeem ook hebben, dus het is wellicht een Qualcomm probleem in plaats van een HTC issue.
Zoals iedereen hier wellicht snapt is de rendering speed / FPS afhankelijk van de complexiteit van de GL scene. Hoe complexer, hoe lager de FPS. Het probleem doet zich voor zodra de FPS in de buurt of over de refresh-rate van het scherm gaat, in dit geval 60 FPS. In dit geval kunnen zich verschillende dingen voordoen:
- Frames worden compleet geskipt. Dit kunnen meerdere frames achter elkaar zijn, waardoor er schijnbare lag of 'stotter' ontstaat.
- Ook kunnen frames in de verkeerde volgorde op het scherm komen. Een goede manier om dit te omschrijven heb ik niet echt, maar misschien kun je het je voorstellen als "scratchen met beeld ipv geluid".
- In sommige gevallen treedt er een vertraging op van een paar vsync's, wat ook lag en of stotter kan geven (en veel lagere benchmarks).
Met andere woorden, het lijkt alsof de drivers wel vsync willen, maar de vsync niet daadwerkelijk werkt.
De driver patch lost dit op door een frame limiter in te bouwen - die echter ook niet perfect is, maar in ieder geval een stuk beter (aangezien echte vsync detectie momenteel gewoon niet werkt). Hierdoor verdwijnt dit hele probleem zo goed als.
---
Al met al heeft dit dus allemaal niets te maken met dat de HD2 'niet in staat is tot'.
Humor is dan wel weer dat hoe complexer het spel of de app, hoe minder last je hebt van deze problemen (meestal, er zijn nog wat andere issues die spelen). Zie dus ook Electopia. Het rare hieraan is dus weer dat de mensen die hier wel lag ervaren dus het spel sneller renderen dan de mensen die hier geen last hebben (dat lijkt precies verkeerd om, maar is wel degelijk zo). Overigens als je goed kijkt zie je bij Electopia dat de startup "splash" schermen wel vloeiender in en uit faden met de patch dan zonder. In ieder geval, bij mij wel, en bij mij draaide Electopia als een van de weinige spellen ook gewoon goed zonder de patch.
Overigens is het sowieso vaag dat als je gaat benchmarken (zowel met als zonder patch) de prestaties redelijk heftig kunnen verschillen tussen twee willekeurige HD2's, ook al draaien ze beiden dezelfde ROM en zijn ze vers ge-hard-reset.
Hopelijk klaart dit wat dingen op, want zowel het bericht als een aantal van de reacties zijn een beetje vaag en/of incorrect.