Mee oneens
Dat mag, maar mag ik je erop wijzen dat je het tegen iemand hebt die 15 jaar ervaring heeft met hardware rendering in GPU's? Je hoeft mij dus niet uit te leggen hoe het werkt, ik
weet namelijk hoe het werkt en welke operaties tijd kosten.
Je hebt het proces van het VRAM in de GPU naar de pixels zelf. Dat is een onafhankelijkproces, min of meer analoog.
Onafhankelijk of niet, alle pixels worden weldegelijk met een vaste frequentie geüpdatet. In hoeverre dat tijd kost is dan weer afhankelijk van de beeldtechniek - OLED heeft andere eigenschappen dan LCD. En hier (het update-proces) is weinig analoog aan. Maar feit blijft dat de digitale variant van de DAC gewoon 60x per seconde over al dat geheugen heenloopt om pixels te updaten. Hogere resolutie betekent meer geheugen, en dat betekent meer stroomverbruik.
Dan heb je het proces om het VRAM te vullen door de GPU. En daar wordt zeker niet elke pixel getekend. Hier wordt gewoon opdrachten gestuurd als maak die rechthoek wit, teken daar een circel etc.
Nou ging de discussie niet zozeer om het tekenen van élke pixel, maar het tekenen van méér pixels bij een hogere resolutie. Als die rechthoeken en circels hetzelfde formaat op het scherm houden, dan nemen ze dus meer oppervlak in pixels in, en moeten er derhalve meer pixels worden geüpdatet. Dat zijn uiteindelijk meer operaties, en dat kost dus meer stroom.
Ook bij scrollen in lijsten is er gewoon opdracht aan de GPU, schuif alles in dit VRAM gedeelte 1 pixel naar beneden.
Leuk dat dat maar 1 opdracht is, maar het resultaat is dat het héle gedeelte waarin gescrollt wordt geüpdatet wordt. Het is niet dat ie gewoon maar schermcoordinaten aanpast. Als op regel 5 een witte pixel staat en op regel 6 een zwarte, en je scrollt het beeld naar boven, dan wordt die witte overschreven met die zwarte van regel 6. En op zijn beurt wordt de zwarte weer overschreven met die van regel 7. En dit voor het gehele scherm.
Het groter aantal pixels verhoogt niet echt het aantal operaties
Je denkt te high level. Hoewel het voor de applicatie maar 1 operatie is, is dat voor de uitvoerende GPU niet maar 1 operatie. Alle relevante pixels moeten worden aangepast. Dat is niet instantaan, daar gaat tijd overheen. De bandbreedte naar het geheugen is gelimiteerd, en hij zal in een loopje over de pixels lopen om ze te updaten.
Maar zelfs zonder enige kennis van de materie zou je moeten weten dat hogere resoluties nou eenmaal meer tijd kosten. Je zit hier op tweakers, je hebt neem ik aan wel een aantal benchmarks gezien. 3D games bouwen hun beeld met exact dezelfde operaties op: een driehoekje hier, een driehoekje daar. Bij gelijk detail zie je dat hogere resoluties simpelweg resulteren in een lagere framerate. En dat terwijl het aantal high level operaties exact identiek is - dezelfde driehoekjes worden getekend. Alleen beslaan die driehoekjes meer pixels, en voor elke pixel wordt een pixelshader uitgevoerd, en zal het resultaat naar het geheugen geschreven moeten worden. Renderen op een gehalveerde resolutie scheelt je grofweg de helft in tijd. Waarom denk je dat consoles niet altijd op 1080p renderen?
Het extra stroomverbruik bij een groter aantal pixels valt weg tegen dat die GPUs ook steeds efficienter worden
Non-argument, als je de telefoon een lagere resolutie zou geven zou hij dezelfde generatie GPU meekrijgen en dus meeprofiteren van de hogere efficientie. En wat typisch het geval is, is dat een telefoon met lagere resolutie ook een minder krachtige GPU krijgt (omdat ie nou eenmaal minder pixels hoeft te vullen), die nóg energieefficienter zijn. Een GTX 980 verbruikt nou eenmaal meer stroom dan een GTX 950. In het mobiele landschap is dat niet anders.
Overigens ben ik niet per se voorstander van lagere resoluties in telefoons, ik verwerp alleen je stelling dat het in stroomverbruik niets uitmaakt, want dat is gewoon quatsch.
[Reactie gewijzigd door .oisyn op 26 juli 2024 01:25]