Waarom is een game renderen zo zwaar voor je pc?

Waarom is het renderen van bijv battlefield 4 op ultra zo zwaar, wat doet zn grafische kaart nu eigenlijk echt.. En waarom is het op high makkelijker te renderen als op ultra terwijl die niet veel afwijken.

Weet jij het antwoord?

/2500

Stel dat de de opdracht steeds 2 keer zo zwaar zou worden, en de grafische kaart bij normal en/of high optimaal draait. Dan is ultra een flinke lading. Daarbij moet een grafische kaart veel meer doen dan renderen alleen! Het ligt er ook aan of je een 720p scherm of 1080p scherm hebt want 1080 heeft 4pixels waar 720 er 1 zou hebben (lengte x breedte) Maar by the way, met BF een Grafische kaart die high zonder lag heeft, is goed genoeg. Want battlefield is niet de meest grafisch vriendelijkste spel voor je pc.

Teken een jongetje, 3/4 van voren, met bruine haren die een beetje over zijn voorhoofd vallen, met een rood/wit geblokt jasje en een groen/gele streepjesbroek. Hij springt met zijn armen zwaaiend over een boomstam. De zon staat een beetje achter hem, zodat zijn hondje net in de schaduw staat. Teken dit nu op een A4-tje. Dat is renderen. En dat is nog maar een heel klein deel van de scene, die verder nog gedetailleerder is. En doe dat 50 keer per seconde. Dan weet je waar de processor het heet van krijgt.

Ligt ook aan de engine waarin het gemaakt is, de belichting, de grootte van de textures en hoe efficient de artists hun models in elkaar hebben gezet. Daarbij heb je drawcalls, het aantal objecten binnen je scherm dat er gerendert moet worden. Om dit minder zwaar te maken, maken artists in hun engine gebruik van LoD. Dit houdt in dat objecten in de verte een lagere resolutie texture hebben, en minder polygons (waardoor het object dus minder zwaar wordt om te renderen. Het zit immers zo ver dat het niet uitmaakt hoe mooi het eruit ziet. Zodra jij dichterbij komt, zal de engine het LoD model inwisselen voor het echte, high poly model en zal alles wat zich achter jou bevind niet langer gerendert worden.) Schaduwen worden vaak realtime gerenderd. Dat kan in sommige gevallen ook niet anders, want er beweegt van alles. Dat maakt het allemaal wel een stuk zwaarder. Ook zitten er particles in, die zorgen voor leuke effectjes zoals rook en explosies. Die zijn ook flink zwaar zodra het in de duizenden loopt. Games zijn zoveel meer dan een leuk plaatje en je WASD knopjes. Lees er eens wat over :D Het is echt mooi om mee te werken.

Een beeld word opgebouwd uit veel berekeningen, en een videokaart kan heel veel berekeningen per seconden doen. Als er bijvoorbeeld schaduwen moeten worden getoond, dan word dit berekent. Hoe hoger de kwaliteit van de schaduw, hoe meer berekeningen er moeten worden gemaakt. Toegevoegd na 2 minuten: Als er meer berekeningen moeten worden gemaakt, moet de videokaart meer moeite doen om alles te berekenen. De games van tegenwoordig zien er steeds mooier uit, en dus moeten er veel meer berekeningen worden gemaakt, Daarom draaien de games zo zwaar, vooral op ultra

Renderen is het opbouwen van het plaatje. De programmeur heeft een aantal figuren in de computer beschreven door hun hoogte, breedte, diepte en locatie op te geven. Jij als gebruiker bent (relatief) vrij om overal je virtuele camera neer te zetten. Hoe het plaatje op je monitor er uit komt te zien is afhankelijk van die positie en ook de positie van de objecten zelf die in beeld moeten komen. Hoe dat er allemaal precies uit komt te zien is tijdens het programmeren niet zeker. Het hele plaatje zal dus berekend moeten worden tijdens het spelen (tijdens "runtime" noemen we dat). Zo'n positie berekening zijn ingewikkelde formules waarbij tot ver achter de komma gerekend moet worden. We hebben het hier namelijk niet over simpel optellen en aftrekken, maar over de tak van wiskunde die de "goniometrie" wordt genoemd en bol staat van sin(x), cos(x) en tan(x) berekeningen. Sommige goedkope calculators hebben als merkbaar tijd nodig om één zo'n berekening uit te voeren en de computer, meer precies de grafische chip, moet er honderden doen. En dat allemaal om 1 frame op je beeld te toveren. In het volgende frame ben jij al wat verder gelopen in je virtuele wereld. Dan moeten al die berekeningen opnieuw. En bij zo'n 50 tot 75 frames per seconde moeten al die berekeningen dus óók 50 tot 75 keer per seconde berekend worden. Dat is een flinke klus waar dus veel snelle rekencapaciteit voor nodig is. Een computer of processor die daar in uitblinkt noemen we een "zware" computer of processor. Nu kun je het de computer ook makkelijker maken. Door een lagere framerate bijvoorbeeld heeft een computer meer tijd om zijn berekeningen af te krijgen. Maar ook door een lagere resolutie (b.v. high i.p.v. ultra) hoeven de berekeningen minder precies te zijn. De computer hoeft dus minder ver achter de komma door te rekenen en is eerder klaar met de som. Tegenwoordig is de grafische kwaliteit zo goed dat het menselijk oog bijna het verschil niet meer ziet, maar voor de computer is een verdubbeling in kwaliteit een som die 4x zo moeilijk wordt.

Bronnen:
http://nl.wikipedia.org/wiki/Goniometrie

Stel zelf een vraag

Ben je op zoek naar het antwoord die ene vraag die je misschien al tijden achtervolgt?

/100