Nieuwe functies in After Effects CC. GPU-versnelling

Wij brengen het onder uw aandacht volledige beschrijving bedieningspaneel van de bestuurder. Houd er rekening mee dat sommige instellingen alleen beschikbaar zijn wanneer bepaalde typen de gebruikte apparatuur. In deze review hebben we geprobeerd alle mogelijke instellingen weer te geven.

Hoofdpaneelvenster

Het hoofdvenster wordt weergegeven in de afbeelding:

Het navigatiepaneel bevindt zich aan de linkerkant en biedt u de mogelijkheid om met één klik door de benodigde instellingen te navigeren. Met het menu Beeld kunt u een geavanceerde weergave inschakelen, die u de meest volledige toegang geeft tot alle opties voor stuurprogramma-instellingen, of een aangepaste paneelweergave configureren, waarbij alleen de items overblijven die u wilt gebruiken. Linksonder in het paneel vindt u ook toegang tot het helpsysteem van het controlepaneel (link “Systeeminformatie”):

waar u meer te weten kunt komen over bestandsversies, geïnstalleerde stuurprogramma's en andere software NVIDIA, evenals de kenmerken van de videokaart.

Categorie "3D-instellingen"

Beelden aanpassen tijdens afspelen

De volgende instellingen zijn beschikbaar:

  • Instellingen volgens 3D-toepassing— met deze optie kunt u de kwaliteit en snelheid van de weergave regelen met behulp van 3D-toepassingen. De standaard trilineaire filteroptimalisatie en anisodie standaard zijn ingeschakeld, blijven echter ongeacht de applicatie-instellingen.
  • Geavanceerde 3D-beeldinstellingen— Er wordt gebruik gemaakt van geavanceerde stuurprogramma-instellingen die door gebruikers zelf zijn geïnstalleerd. De link “Go” opent toegang tot het tabblad “3D-instellingen beheren”. Het is het beheer van extra stuurprogramma-opties waarmee u dit kunt bereiken maximale kwaliteit afbeeldingen.
  • Aangepaste instellingen met de nadruk op...: - de meest interessante optie die een vereenvoudigd beheer van extra stuurprogramma-opties voor beginnende gebruikers mogelijk maakt:

Betekenis Prestatie komt overeen met de maximale werksnelheid en omvat instellingen: verticale synchronisatie is uitgeschakeld, alle optimalisaties (trilineaire filteroptimalisatie, mip-filteroptimalisatie voor anisotropie, samplingoptimalisatie voor anisotropie) zijn ingeschakeld, negatief detailniveau: verbod op negatief niveau is ingeschakeld, textuurfiltering is “ kwaliteit” ", anisotrope filtering en anti-aliasing worden gecontroleerd door applicaties.

Betekenis Evenwicht heeft de volgende instellingen: anti-aliasing - 2x, anisotrope filtering - 4x, alle optimalisaties (trilineaire filteroptimalisatie, mip-filteroptimalisatie voor anisotropie, samplingoptimalisatie voor anisotropie) zijn ingeschakeld, negatief detailniveau - ingeschakeld, textuurfiltering - "kwaliteit" , verticale synchronisatie - bestuurd door applicaties.

Betekenis Kwaliteit heeft de volgende instellingen: trilineaire filteroptimalisatie - ingeschakeld, anti-aliasing - 4x, anisotrope filtering - 8x, negatief detailniveau - ingeschakeld, textuurfiltering - "kwaliteit", verticale synchronisatie - bestuurd door applicaties.

Alle modi zijn voorzien van gedetailleerde uitleg over het gebruik ervan, en een roterend bedrijfslogo demonstreert het gebruik van bepaalde instellingen.

Voor meer gedetailleerde instellingen venster wordt gebruikt 3D-instellingen beheren.

3D-instellingen beheren

Mondiale opties

Mogelijke instellingen bladwijzers Mondiale opties :

Anisotrope filtering. Mogelijke waarden zijn “Uit”, “Applicatiebeheer”, “2x-16x” (afhankelijk van het videoadaptermodel). Anisotrope filtering is tegenwoordig de meest geavanceerde techniek voor het compenseren van pixelvervorming, en in combinatie met trilineaire filtering biedt dit de beste filterkwaliteit. Als u een andere waarde dan 'Applicatiebeheer' activeert, kunt u de applicatie-instellingen negeren. Maar we mogen niet vergeten dat dit een zeer hulpbronnenintensieve omgeving is die de prestaties aanzienlijk vermindert.

Verticale synchronisatiepuls. Mogelijke waarden zijn ‘Aan’. en Uit, gebruik 3D-applicatie-instelling. Verticale synchronisatie (het is volkomen onduidelijk waarom NVIDIA van deze term afstapt) verwijst naar de synchronisatie van de beelduitvoer met de scanfrequentie van de monitor. Door verticale synchronisatie in te schakelen, kunt u een zo vloeiend mogelijk beeld van het beeld op het scherm verkrijgen. Als u deze uitschakelt, kunt u het maximale aantal frames per seconde verkrijgen, wat vaak leidt tot verstoring (verplaatsing) van het beeld vanwege het feit dat de video adapter is begonnen met het tekenen van het volgende frame, terwijl de uitvoer van het vorige nog niet is voltooid. Wegens gebruik dubbele buffering Als u Vsync inschakelt, kan het in sommige toepassingen ertoe leiden dat het aantal frames per seconde onder de vernieuwingsfrequentie van de monitor daalt.

Schakel schaalbare texturen in. Mogelijke waarden zijn “Geen” en “Bilineair”, “Trilineair”. Nee - schakel geen schaalbare texturen in toepassingen die deze niet ondersteunen. Bilineair - betere prestaties ten koste van de kwaliteit. Trilineair - goede beeldkwaliteit met lagere prestaties. Het wordt ten zeerste afgeraden om deze optie te gebruiken in de geforceerde bilineaire filtermodus, omdat de beeldkwaliteit die wordt verkregen bij het forceren van de optie eenvoudigweg deprimerend is.

Achtergrondverlichting schaduw. Technologie inschakelen voor het simuleren van globale verlichting (schaduw) Ambient Occlusion. Het traditionele verlichtingsmodel in 3D-graphics berekent het uiterlijk van een oppervlak uitsluitend op basis van de kenmerken ervan en de kenmerken van de lichtbronnen. Objecten in het lichtpad werpen schaduwen, maar hebben geen invloed op de verlichting van andere objecten in de scène. Het globale verlichtingsmodel vergroot het realisme van een beeld door de intensiteit te berekenen van het licht dat een oppervlak bereikt, waarbij de helderheidswaarde van elk oppervlaktepunt afhangt van de relatieve positie van andere objecten in de scène. Helaas vallen eerlijke volumetrische berekeningen van schaduw veroorzaakt door objecten in het pad van lichtstralen nog steeds buiten de mogelijkheden van moderne hardware. Daarom is er ambient occlusietechnologie ontwikkeld, waarmee met behulp van shaders de onderlinge occlusie van objecten in het vlak kan worden berekend.” virtuele camera" met behoud van acceptabele prestaties, voor het eerst gebruikt in het spel Crysis. Met deze optie kunt u deze technologie gebruiken om games weer te geven die geen ingebouwde ondersteuning voor omgevingsocclusie hebben. Elke game vereist een afzonderlijke aanpassing van het algoritme, dus de optie zelf is ingeschakeld in de stuurprogrammaprofielen en de paneeloptie staat alleen het gebruik van de technologie als geheel toe. De lijst met ondersteunde games is te vinden op de website NVIDIA. Ondersteund op G80 (GeForce 8X00) en latere GPU's vanaf driver 185.81 in Windows Vista en Windows 7. Kan de prestaties met 20-50% verminderen. Mogelijke waarden zijn ‘Aan’. en "Uit."

Maximaal aantal vooraf voorbereide frames— hiermee kunt u de controle beperken over het maximale aantal frames dat is voorbereid door de centrale processor wanneer deze is uitgeschakeld. Als u problemen ondervindt met een trage reactie van de muis of joystick, moet u de standaardwaarde (3) verlagen. Als u de waarde verhoogt, kunt u vloeiendere beelden verkrijgen bij lage framesnelheden.

Beperking van uitbreiding. Mogelijke waarden zijn “Enabled” en “Disabled”. Wordt gebruikt om compatibiliteitsproblemen met oudere OpenGL-applicaties op te lossen vanwege de overloop van het geheugen dat is toegewezen voor het opslaan van informatie over de mogelijkheden van de videokaart. Als applicaties crashen, probeer dan de extensiebeperking in te schakelen.

Optimalisatie van streaming— hiermee kunt u in de meeste gevallen het aantal GPU's beheren dat door applicaties wordt gebruikt; het wijzigen van de standaardwaarde (Auto) is niet vereist. Sommige oudere games werken echter mogelijk niet correct in dergelijke configuraties. Daarom is het mogelijk om deze optie te beheren.

Energiebeheermodus. Mogelijke waarden zijn ‘Adaptief’ (standaard) en ‘Maximale prestaties’. Bij GeForce 9X00 en nieuwere videokaarten die aparte prestatiemodi hebben, schakelt de driver voor games en programma's die een kleine belasting op de GPU leggen de videokaart niet naar de 3D prestatiemodus. Dit gedrag kan worden gewijzigd door de modus “Maximale prestaties” te selecteren. Telkens wanneer de 3D grafische kaart wordt gebruikt, wordt overgeschakeld naar de 3D-modus. Deze functies zijn alleen beschikbaar bij gebruik van driver 190.38 of hoger in Windows Vista en Windows 7.

Gladmaken - gammacorrectie. Mogelijke waarden: "Aan" en "Uit." Hiermee kunt u gammacorrectie van pixels uitvoeren tijdens anti-aliasing. Beschikbaar op videoadapters gebaseerd op de G70 (GeForce 7X00) grafische processor en nieuwer. Verbetert het kleurengamma van applicaties.

Anti-aliasing - transparantie. Mogelijke waarden zijn Uit, Multisampling, Oversampling. Beheerst geavanceerde anti-aliasingtechnologie om het laddereffect aan de randen van transparante texturen te verminderen. Houd er rekening mee dat onder de uitdrukking “Multiple Sampling” de bekendere term “Multisampling” verbergt, en dat “Oversampling” “Supersampling” betekent. De laatste methode heeft de grootste impact op de prestaties van de videoadapter. De optie werkt op videokaarten uit de GeForce 6x00-familie en nieuwer, bij gebruik van stuurprogrammaversie 91.45 en hoger.

Anti-aliasing - parameters. Het item is alleen actief als het item “Vloeiend maken - Modus” is ingesteld op “Toepassingsinstellingen verhogen” of “Toepassingsinstellingen negeren”. Mogelijke waarden zijn “Applicatiecontrole” (wat equivalent is aan de waarde “Applicatiecontrole” in het item “Anti-aliasing - modus”), en van 2x tot 16x, inclusief “eigen” Q/S-modi (afhankelijk van de mogelijkheden van de videokaart). Deze instelling heeft ernstige gevolgen voor de prestaties. Voor zwakke kaarten wordt aanbevolen om minimale modi te gebruiken. Opgemerkt moet worden dat voor de modus "Toepassingsinstellingen verhogen" alleen de opties 8x, 16x en 16xQ effect zullen hebben.

Anti-aliasing - modus. Schakel anti-aliasing voor afbeeldingen op volledig scherm in (FSAA). Verzachting wordt gebruikt om het "karteleffect" dat optreedt bij grenzen te minimaliseren driedimensionale objecten. Mogelijke waarden:

  • “Applicatiecontrole” (standaardwaarde) - anti-aliasing werkt alleen als de applicatie/game er rechtstreeks om vraagt;
  • “Nee”: schakel het gebruik van anti-aliasing op volledig scherm volledig uit;
  • “Applicatie-instellingen overschrijven” - forceer dat de anti-aliasing die is opgegeven in het item “Anti-aliasing - parameters” wordt toegepast op de afbeelding, ongeacht het gebruik of niet-gebruik van anti-aliasing door de applicatie. "App-instellingen overschrijven" heeft geen effect op games die de technologie gebruiken Uitgestelde schaduw en DirectX 10 en hogere toepassingen. Het kan in sommige games ook beeldvervorming veroorzaken;
  • “Verhoog applicatie-instellingen” (alleen beschikbaar voor GeForce-videokaarten 8X00 en nieuwer) - hiermee kunt u de anti-aliasing verbeteren die wordt gevraagd door toepassingen in probleemgebieden tegen lagere prestatiekosten dan bij gebruik van “Applicatie-instellingen overschrijven”.

Foutmeldingen. Bepaalt of toepassingen kunnen controleren op weergavefouten. De standaardwaarde is “Uit”, omdat veel OpenGL-applicaties voeren deze controle vrij vaak uit, waardoor het aantal algemene prestaties.

Passende textuurbinding. Mogelijke waarden zijn ‘Uit’. , "Hardware wordt gebruikt", "OpenGL-specificatie wordt gebruikt". Met “texture snapping” bedoelen we het snappen van textuurcoördinaten buiten de grenzen ervan. Ze kunnen aan de randen van de afbeelding of erin worden vastgemaakt. U kunt het snappen uitschakelen als er in sommige toepassingen textuurdefecten optreden. In de meeste gevallen is het wijzigen van deze optie niet nodig.

Drievoudige buffering. Mogelijke waarden zijn ‘Aan’. en "Uit." Het inschakelen van drievoudige buffering verbetert de prestaties bij gebruik van Vsync. Houd er echter rekening mee dat u niet bij alle toepassingen drievoudige buffering kunt forceren en dat de belasting van het videogeheugen toeneemt. Werkt alleen voor OpenGL-applicaties.

Versnel meerdere beeldschermen. Mogelijke waarden zijn Single Display Performance Mode, Multi-Display Performance Mode en Compatibiliteitsmodus. De instelling definieert aanvullende OpenGL-parameters bij gebruik van meerdere videokaarten en meerdere beeldschermen. Het bedieningspaneel wijst de standaardinstelling toe. Als u problemen ondervindt met OpenGL-toepassingen die op meerdere grafische kaarten en beeldschermen draaien, probeer dan de instelling te wijzigen naar de compatibiliteitsmodus.

Textuurfiltering - optimalisatie van anisotrope filtering. Mogelijke waarden zijn ‘Aan’. en "Uit." Indien ingeschakeld, dwingt de bestuurder het gebruik van het punt-mip-filter af in alle fasen, behalve in de hoofdfase. Als u deze optie inschakelt, neemt de beeldkwaliteit enigszins af en worden de prestaties enigszins verhoogd.

Textuurfiltering. Mogelijke waarden zijn “Hoge kwaliteit”, “Kwaliteit”, “Prestatie”, “Hoge prestaties”. Hiermee kunt u de Intellisample-technologie beheren. Deze parameter heeft een aanzienlijke invloed op de beeldkwaliteit en snelheid:

  • "Hoge prestaties" - biedt de hoogst mogelijke framesnelheid die dat oplevert betere prestaties.
  • "Prestatie" - Het opzetten van optimale applicatieprestaties met goede beeldkwaliteit. Geeft optimale prestaties en een goede beeldkwaliteit.
  • "Kwaliteit » standaard installatie wat geeft optimale kwaliteit afbeeldingen.
  • "Hoge kwaliteit" - geeft de beste beeldkwaliteit. Wordt gebruikt om afbeeldingen te verkrijgen zonder te gebruiken software-optimalisaties textuurfiltering.

Textuurfiltering - onegatieve afwijking van LOD (detailniveau). Mogelijke waarden zijn “Allow” en “Binding”. Voor meer contrastrijke textuurfiltering gebruiken toepassingen soms een negatieve Level of Detail (LOD)-waarde. Dit verhoogt het contrast van een stilstaand beeld, maar creëert een “ruis”-effect op bewegende objecten. Om meer te krijgen beeld van hoge kwaliteit bij gebruik anisotrope filtering Het is raadzaam om de optie op “bindend” te zetten om negatieve afwijkingen van de UD te voorkomen.

Textuurfiltering - trilineaire optimalisatie. Mogelijke waarden zijn ‘Aan’. en "Uit." Door deze optie in te schakelen, kan het stuurprogramma de kwaliteit van de trilineaire filtering verminderen om de prestaties te verbeteren, afhankelijk van de geselecteerde Intellisample-modus.

Software-instellingen

De bladwijzer heeft twee velden:

Selecteer een programma om te configureren.

In dit veld kun je zien mogelijke profielen toepassingen die dienen om de globale stuurprogramma-instellingen te vervangen. Wanneer u het bijbehorende uitvoerbare bestand uitvoert, worden de instellingen voor de specifieke toepassing automatisch geactiveerd. Sommige profielen kunnen instellingen bevatten die niet door gebruikers kunnen worden gewijzigd. In de regel is dit een aanpassing van de driver voor specifieke toepassing of het oplossen van compatibiliteitsproblemen. Standaard worden alleen de applicaties weergegeven die op het systeem zijn geïnstalleerd.

Geef instellingen voor dit programma op.

In dit veld kunt u de instellingen voor een specifiek applicatieprofiel wijzigen. Rol beschikbare instellingen volledig identiek aan globale parameters. Om toe te voegen wordt de knop “Toevoegen” gebruikt eigen profielen toepassingen. Wanneer erop wordt geklikt, wordt een venster geopend Windows Verkenner, waarmee u het uitvoerbare bestand van de applicatie selecteert. Daarna kunt u in het veld "Instellingen voor dit programma opgeven" persoonlijke instellingen voor de applicatie instellen. De knop “Verwijderen” wordt gebruikt om profielen te verwijderen aangepaste toepassingen. Houd er rekening mee dat u aanvankelijk bestaande applicatieprofielen niet kunt verwijderen/wijzigen met behulp van het stuurprogramma. Hiervoor moet u hulpprogramma's van derden gebruiken, zoals nHancer.

PhysX-configuratie instellen

Hiermee kunt u de verwerking in- of uitschakelen fysieke effecten gebruiken NVIDIA-technologieën PhysX gebruikt een videokaart, op voorwaarde dat deze gebaseerd is op een G80 (GeForce 8X00) of nieuwere grafische processor. Ondersteuning is standaard ingeschakeld; het uitschakelen ervan kan nodig zijn bij het oplossen van problemen met applicaties die PhysX niet correct gebruiken (bijvoorbeeld het spel Mirror`s Edge zonder patches). Als er meer dan één afbeelding is NVIDIA-processor in het systeem krijgt de gebruiker de mogelijkheid om een ​​GPU te selecteren waarop fysieke effecten worden verwerkt, tenzij deze wordt gebruikt SLI-modus. Meer informatie over de functies van het gebruik van NVIDIA PhysX vindt u in de speciale FAQ-sectie van onze website.

Bovendien kunt u vanaf driverversie 195.62 de weergave van de PhysX-versnellingsindicator in games inschakelen. Om dit te doen, vinkt u in het hoofdmenu “3D Opties” het vakje “Toon PhysX visuele indicator” aan. Links wordt de acceleratiestatus weergegeven bovenste hoek afbeeldingen.

Hallo allemaal! Vandaag een heel interessant artikel over fijnafstemming videokaarten voor hoge prestaties V computerspellen. Vrienden, ben het ermee eens dat u na het installeren van het stuurprogramma van de videokaart ooit het “Panel Nvidia-controle"en toen we daar onbekende woorden zagen: DSR, shaders, CUDA, sync pulse, SSAA, FXAA enzovoort, hebben we besloten daar niet meer heen te gaan. Maar toch is het mogelijk en zelfs noodzakelijk om dit allemaal te begrijpen, omdat de prestaties direct afhankelijk zijn van deze instellingen. Er bestaat een misvatting dat alles in dit geavanceerde paneel standaard correct is geconfigureerd, helaas is dit verre van het geval en de ervaring leert dat de juiste instelling wordt beloond met een aanzienlijke toenameframesnelheid.Dus maak je klaar, we zullen streamingoptimalisatie, anisotrope filtering en drievoudige buffering begrijpen. Uiteindelijk zul je er geen spijt van krijgen en word je beloond in de vormFPS verhogen bij spellen.

Een Nvidia grafische kaart instellen voor gaming

Het tempo van de ontwikkeling van de gameproductie wint elke dag steeds meer momentum, evenals de wisselkoers van de belangrijkste valuta in Rusland, en daarom de relevantie van het optimaliseren van de werking van hardware, software en besturingssysteem is sterk gestegen. Het is niet altijd mogelijk om je stalen hengst in goede conditie te houden door constante financiële injecties, dus vandaag zullen we het hebben over het verbeteren van de prestaties van een videokaart door middel van gedetailleerde afstemming. In mijn artikelen heb ik herhaaldelijk geschreven over het belang van het installeren van een videostuurprogramma , Ik denk dat je het kunt overslaan. Ik weet zeker dat jullie allemaal heel goed weten hoe je dit moet doen, en jullie hebben het allemaal al een hele tijd geïnstalleerd.

Om naar het beheermenu van het videostuurprogramma te gaan, klikt u met de rechtermuisknop ergens op het bureaublad en selecteert u “Nvidia-configuratiescherm” in het menu dat wordt geopend.

Ga vervolgens in het geopende venster naar het tabblad “3D-parameters beheren”.

Dit is waar jij en ik ons ​​zullen vestigen verschillende parameters, wat de weergave van 3D-beelden in games beïnvloedt. Het is niet moeilijk om te begrijpen wat je moet krijgen maximale prestaties videokaarten zullen het beeld qua kwaliteit flink moeten reduceren, wees hier dus op voorbereid.

Dus het eerste punt " CUDA - GPU's" Hier is een lijst met videoprocessors waaruit u kunt selecteren en deze zullen worden gebruikt door CUDA-toepassingen. CUDA (Compute Unified Device Architecture) is een architectuur parallel computergebruik gebruikt door alle moderne GPU's om de computerprestaties te verbeteren.

Volgend punt " DSR - Gladheid“We slaan het over omdat het deel uitmaakt van de instellingen voor het item “DSR - Graad”, en het moet op zijn beurt worden uitgeschakeld en nu zal ik uitleggen waarom.

DSR (dynamische superresolutie)– een technologie waarmee je het beeld in games in meer kunt berekenen hoge resolutie en schaal het resulterende resultaat vervolgens naar de resolutie van uw monitor. Om je te laten begrijpen waarom deze technologie überhaupt is uitgevonden en waarom we deze niet nodig hebben om maximale prestaties te krijgen, zal ik proberen een voorbeeld te geven. Je hebt in games vast wel vaak gemerkt dat kleine details, zoals gras en bladeren, vaak flikkeren of golven als ze bewegen. Dit komt door het feit dat hoe lager de resolutie, hoe kleiner het aantal bemonsteringspunten voor het weergeven van fijne details. Met DSR-technologie kunt u dit corrigeren door het aantal punten te verhogen (hoe hoger de resolutie, hoe meer groter aantal bemonsteringspunten). Ik hoop dat dit duidelijk zal zijn. In omstandigheden van maximale productiviteit is deze technologie voor ons niet interessant, omdat er behoorlijk wat geld aan wordt uitgegeven systeembronnen. Welnu, als de DSR-technologie is uitgeschakeld, wordt het aanpassen van de vloeiendheid, waarover ik zojuist schreef, onmogelijk. Over het algemeen zetten we het uit en gaan verder.

Het volgende komt anisotrope filtering. Anisotrope filtering - algoritme computergraphics, gemaakt om de kwaliteit te verbeteren van texturen die gekanteld zijn ten opzichte van de camera. Dat wil zeggen dat bij gebruik van deze technologie de texturen in games duidelijker worden. Als we antisotrope filtering vergelijken met zijn voorgangers, namelijk bilineaire en trilineaire filtering, dan is anisotrope filtering het meest vraatzuchtig in termen van videokaartgeheugenverbruik. Dit item heeft slechts één instelling: het selecteren van een filtercoëfficiënt. Het is niet moeilijk te raden dat deze functie moet worden uitgeschakeld.

Volgende punt - verticale synchronisatiepuls . Hierdoor wordt het beeld gesynchroniseerd met de vernieuwingsfrequentie van de monitor. Als u deze optie inschakelt, kunt u de meest vloeiende gameplay realiseren (beeldscheuren worden geëlimineerd wanneer de camera scherp draait), maar framedrops treden vaak op onder de vernieuwingsfrequentie van de monitor. Om te ontvangen maximale hoeveelheid frames per seconde, is het beter om deze optie uit te schakelen.

Voorgetraind personeel virtuele realiteit . De functie voor virtual reality-brillen is voor ons niet interessant, aangezien VR nog ver verwijderd is dagelijks gebruik gewone gamers. We laten het op de standaardwaarde staan: gebruik de 3D-applicatie-instelling.

Achtergrondverlichting schaduw. Zorgt ervoor dat scènes er realistischer uitzien door de intensiteit van het omgevingslicht te verzachten van oppervlakken die worden verduisterd door voorwerpen in de buurt. De functie werkt niet in alle games en vergt veel middelen. Daarom nemen we haar mee naar de digitale moeder.

Shader-caching. Wanneer deze functie is ingeschakeld, slaat de centrale processor de gecompileerde bestanden op GPU shaders naar schijf. Als deze shader opnieuw nodig is, haalt de GPU deze rechtstreeks van de schijf, zonder de CPU te dwingen deze shader opnieuw te compileren. Het is niet moeilijk te raden dat als u deze optie uitschakelt, de prestaties afnemen.

Maximaal aantal vooraf voorbereide frames. Het aantal frames dat de CPU kan voorbereiden voordat ze door de GPU worden verwerkt. Hoe hoger de waarde, hoe beter.

Multi-frame anti-aliasing (MFAA). Een van de anti-aliasing-technologieën die worden gebruikt om “kartels” aan de randen van afbeeldingen te elimineren. Elke anti-aliasing-technologie (SSAA, FXAA) stelt hoge eisen aan de GPU (de enige vraag is de mate van gulzigheid).

Optimalisatie van streaming. Door deze functie in te schakelen, kan een applicatie meerdere CPU's tegelijk gebruiken. Als de oude applicatie niet correct werkt, probeer dan de “Auto”-modus in te stellen of deze functie helemaal uit te schakelen.

Energiebeheermodus. Er zijn twee opties beschikbaar: de adaptieve modus en de maximale prestatiemodus. Tijdens de adaptieve modus is het energieverbruik rechtstreeks afhankelijk van de GPU-belasting. Deze modus is vooral nodig om het stroomverbruik te verminderen. Tijdens de maximale prestatiemodus blijven, zoals u wellicht vermoedt, het hoogst mogelijke prestatie- en stroomverbruik behouden, ongeacht de GPU-belasting. Laten we de tweede plaatsen.

Anti-aliasing – FXAA, Anti-aliasing – gammacorrectie, Anti-aliasing – parameters, Anti-aliasing – transparantie, Anti-aliasing – modus. Ik schreef al over het iets hoger afvlakken. Zet alles uit.

Drievoudige buffering. Een soort dubbele buffering; een beelduitvoermethode die artefacten (beeldvervorming) vermijdt of vermindert. Simpel gezegd: het verhoogt de productiviteit. MAAR! Dit ding werkt alleen in combinatie met verticale synchronisatie, die we, zoals je je herinnert, eerder hebben uitgeschakeld. Daarom schakelen we deze parameter ook uit; deze is nutteloos voor ons.

Hallo allemaal! Vandaag is een heel interessant artikel over het verfijnen van je videokaart voor hoge prestaties in computerspellen. Vrienden, ben het ermee eens dat je na het installeren van het stuurprogramma van de videokaart ooit het "Nvidia-configuratiescherm" hebt geopend en daar onbekende woorden zag: DSR, shaders, CUDA, klokpuls, SSAA, FXAA, enzovoort, en besloot daar niet meer heen te gaan . Maar toch is het mogelijk en zelfs noodzakelijk om dit allemaal te begrijpen, omdat de prestaties van uw videokaart direct afhankelijk zijn van deze instellingen. Er bestaat een misvatting dat alles in dit geavanceerde paneel standaard correct is geconfigureerd, helaas is dit verre van het geval en uit experimenten blijkt dat de juiste instelling wordt beloond met een aanzienlijke verhoging van de framesnelheid. Dus maak je klaar, we zullen streamingoptimalisatie, anisotrope filtering en drievoudige buffering begrijpen. Uiteindelijk zul je er geen spijt van krijgen en word je beloond met een verhoging van de FPS in games.

Om naar het beheermenu van het videostuurprogramma te gaan, klikt u dus met de rechtermuisknop ergens op het bureaublad en selecteert u “Nvidia-configuratiescherm” in het menu dat wordt geopend.

Ga vervolgens in het geopende venster naar het tabblad “3D-parameters beheren”.

Hier zullen we verschillende parameters configureren die de weergave van 3D-beelden in games beïnvloeden. Het is niet moeilijk te begrijpen dat je, om maximale prestaties uit de videokaart te halen, de beeldkwaliteit aanzienlijk moet verminderen, dus wees hierop voorbereid.

Dus het eerste punt " CUDA - GPU's" Hier is een lijst met videoprocessors waaruit u kunt selecteren en deze zullen worden gebruikt door CUDA-toepassingen. CUDA (Compute Unified Device Architecture) is een parallelle computerarchitectuur die door alle moderne GPU's wordt gebruikt om de computerprestaties te verbeteren.

Volgend punt " DSR - Gladheid“We slaan het over omdat het deel uitmaakt van de instellingen voor het item “DSR - Graad”, en het moet op zijn beurt worden uitgeschakeld en nu zal ik uitleggen waarom.

DSR (dynamische superresolutie)– een technologie waarmee u afbeeldingen in games met een hogere resolutie kunt berekenen en het resulterende resultaat vervolgens kunt schalen naar de resolutie van uw monitor. Om je te laten begrijpen waarom deze technologie überhaupt is uitgevonden en waarom we deze niet nodig hebben om maximale prestaties te krijgen, zal ik proberen een voorbeeld te geven. Je hebt in games vast wel vaak gemerkt dat kleine details, zoals gras en bladeren, vaak flikkeren of golven als ze bewegen. Dit komt door het feit dat hoe lager de resolutie, hoe kleiner het aantal bemonsteringspunten voor het weergeven van fijne details. DSR-technologie kan dit corrigeren door het aantal punten te vergroten (hoe hoger de resolutie, hoe groter het aantal bemonsteringspunten). Ik hoop dat dit duidelijk zal zijn. In omstandigheden van maximale prestaties is deze technologie voor ons niet interessant, omdat deze behoorlijk veel systeembronnen verbruikt. Welnu, als de DSR-technologie is uitgeschakeld, wordt het aanpassen van de vloeiendheid, waarover ik zojuist schreef, onmogelijk. Over het algemeen zetten we het uit en gaan verder.

Het volgende komt antisotrope filtratie. Antisotrope filtering is een grafisch computeralgoritme dat is ontwikkeld om de kwaliteit te verbeteren van texturen die ten opzichte van de camera zijn gekanteld. Dat wil zeggen dat bij gebruik van deze technologie de texturen in games duidelijker worden. Als we antisotrope filtering vergelijken met zijn voorgangers, namelijk bilineaire en trilineaire filtering, dan is antisotrope filtering het meest vraatzuchtig in termen van videokaartgeheugenverbruik. Dit item heeft slechts één instelling: het selecteren van een filtercoëfficiënt. Het is niet moeilijk te raden dat deze functie moet worden uitgeschakeld.

Volgende punt - verticale synchronisatiepuls. Hierdoor wordt het beeld gesynchroniseerd met de vernieuwingsfrequentie van de monitor. Als u deze optie inschakelt, kunt u de meest vloeiende gameplay realiseren (beeldscheuren worden geëlimineerd wanneer de camera scherp draait), maar framedrops treden vaak op onder de vernieuwingsfrequentie van de monitor. Om het maximale aantal frames per seconde te krijgen, is het beter om deze optie uit te schakelen.

Vooraf voorbereide virtual reality-beelden. De functie voor virtual reality-brillen is voor ons niet interessant, aangezien VR nog verre van alledaags gebruik is door gewone gamers. We laten het op de standaardwaarde staan: gebruik de 3D-applicatie-instelling.

Achtergrondverlichting schaduw. Zorgt ervoor dat scènes er realistischer uitzien door de intensiteit van het omgevingslicht te verzachten van oppervlakken die worden verduisterd door voorwerpen in de buurt. De functie werkt niet in alle games en vergt veel middelen. Daarom nemen we haar mee naar de digitale moeder.

Shader-caching. Wanneer deze functie is ingeschakeld, slaat de CPU shaders die voor de GPU zijn gecompileerd, op schijf op. Als deze shader opnieuw nodig is, haalt de GPU deze rechtstreeks van de schijf, zonder de CPU te dwingen deze shader opnieuw te compileren. Het is niet moeilijk te raden dat als u deze optie uitschakelt, de prestaties afnemen.

Maximaal aantal vooraf voorbereide frames. Het aantal frames dat de CPU kan voorbereiden voordat ze door de GPU worden verwerkt. Hoe hoger de waarde, hoe beter.

Multi-frame anti-aliasing (MFAA). Een van de anti-aliasing-technologieën die worden gebruikt om “kartels” aan de randen van afbeeldingen te elimineren. Elke anti-aliasing-technologie (SSAA, FXAA) stelt hoge eisen aan de GPU (de enige vraag is de mate van gulzigheid).

Optimalisatie van streaming. Door deze functie in te schakelen, kan een applicatie meerdere CPU's tegelijk gebruiken. Als de oude applicatie niet correct werkt, probeer dan de “Auto”-modus in te stellen of deze functie helemaal uit te schakelen.

Energiebeheermodus. Er zijn twee opties beschikbaar: de adaptieve modus en de maximale prestatiemodus. Tijdens de adaptieve modus is het energieverbruik rechtstreeks afhankelijk van de GPU-belasting. Deze modus is vooral nodig om het stroomverbruik te verminderen. Tijdens de maximale prestatiemodus blijven, zoals u wellicht vermoedt, het hoogst mogelijke prestatie- en stroomverbruik behouden, ongeacht de GPU-belasting. Laten we de tweede plaatsen.

Anti-aliasing – FXAA, Anti-aliasing – gammacorrectie, Anti-aliasing – parameters, Anti-aliasing – transparantie, Anti-aliasing – modus. Ik schreef al over het iets hoger afvlakken. Zet alles uit.

Drievoudige buffering. Een soort dubbele buffering; een beelduitvoermethode die artefacten (beeldvervorming) vermijdt of vermindert. Simpel gezegd: het verhoogt de productiviteit. MAAR! Dit ding werkt alleen in combinatie met verticale synchronisatie, die we, zoals je je herinnert, eerder hebben uitgeschakeld. Daarom schakelen we deze parameter ook uit; deze is nutteloos voor ons.

Versnel meerdere beeldschermen/gemengde GPU's. De instelling definieert extra opties voor OpenGL bij gebruik van meerdere beeldschermen en meerdere videokaarten. Enkel beeldscherm – respectievelijk prestatiemodus voor één beeldscherm. Twee of meer – prestaties op meerdere schermen (of compatibiliteitsmodus in geval van onjuiste werking van applicaties). Twee of meer videokaarten – compatibiliteitsmodus.

Textuurfiltering – Antisotrope filteroptimalisatie. Het inschakelen van de optie zal leiden tot een lichte verslechtering van het beeld en een toename van de prestaties, wat precies is wat we nodig hebben.

Textuurfiltering - kwaliteit. Hiermee kunt u de Intellisample-technologie besturen. Deze technologie is ontworpen om de kwaliteit van het vloeiend maken van scènes gedeeltelijk te verbeteren transparante texturen. We zetten het op minimum, dat wil zeggen, stellen het in op hoge prestatiemodus.

Textuurfiltering - negatieve afwijking op detailniveau. Een technologie waarmee je texturen in applicaties met meer contrast kunt weergeven.

Textuurfiltering - trilineaire optimalisatie. Als u deze optie inschakelt, kan het stuurprogramma de kwaliteit van de trilineaire filtering verminderen om de prestaties te verbeteren.

Dat was het voor de opstelling Nvidia-videostuurprogramma's prestatie is ten einde.

  • Vertaling

Hallo, mijn naam is Tony Albrecht, ik ben een van de ontwikkelaars nieuwe ploeg Render Strike Team beheerd door het Sustainability Initiative in Liga van Legenden. Mijn team kreeg de opdracht om verbeteringen aan te brengen in de rendering-engine Lol en we gingen met plezier aan de slag. In dit artikel vertel ik je hoe de motor werkt Nu. Hopelijk legt het een goede basis waarop ik later kan praten over de veranderingen die we doorvoeren. Dit artikel zal voor mij een goed excuus zijn om zelf stap voor stap naar het weergaveproces te kijken, zodat we als team volledig begrijpen wat er binnenin gebeurt.

Ik zal gedetailleerd uitleggen hoe Lol bouwt en toont elk afzonderlijk frame van het spel (vergeet niet dat dit op de krachtigste machines meer dan 100 per seconde gebeurt). Het verhaal zal grotendeels technisch zijn, maar ik hoop dat het gemakkelijk te volgen zal zijn, zelfs voor mensen zonder renderingervaring. Voor de duidelijkheid zal ik enkele moeilijke punten overslaan, maar als je meer details wilt weten, schrijf er dan over in de reacties [bij het originele artikel].

Eerst zal ik wat vertellen over de grafische bibliotheken die we hebben. Competitie moet zo efficiënt mogelijk werken op een breed scala aan platforms. Windows XP is nu zelfs de vierde populairste versie van het besturingssysteem waarop het spel kan worden uitgevoerd (alleen Windows 7, 10 en 8 zijn populairder). Maandelijks worden er tien miljoen gamesessies gespeeld op Windows XP, om dus te besparen achterwaartse compatibiliteit we moeten DirectX 9 ondersteunen en alleen de functies gebruiken die het biedt. Wij gebruiken ook een vergelijkbare set OpenGL-functies 1.5 op OS X-machines (dit zal binnenkort veranderen).

Dus laten we aan de slag gaan! Eerst zullen we leren hoe computers afbeeldingen daadwerkelijk weergeven.

Renderen voor beginners

De meeste computers hebben een CPU (centrale verwerkingseenheid) en een GPU (grafische verwerkingseenheid). De CPU voert de logica en berekeningen van het spel uit, en de GPU ontvangt driehoeks- en textuurgegevens van de CPU en geeft deze als pixels op het scherm weer. Met kleine GPU-programma's, shaders genaamd, kunt u beïnvloeden hoe de weergave wordt uitgevoerd. U kunt bijvoorbeeld de manier wijzigen waarop texturen op driehoeken worden toegepast of de GPU opdracht geven berekeningen uit te voeren voor elke texel in de textuur. We kunnen dus eenvoudigweg een textuur op een driehoek toewijzen, meerdere texturen op een driehoek toevoegen of vermenigvuldigen, of complexere processen uitvoeren, zoals bumptextuur, verlichtingsberekeningen, reflecties of zelfs zeer realistische skin shaders. Alle zichtbare objecten worden getekend in een niet-gerenderde framebuffer, die pas wordt weergegeven nadat alle rendering is voltooid.

Laten we eens kijken naar een voorbeeld. Hier is een afbeelding van Garen, bestaande uit 6.336 driehoeken die samen een draadframe vormen en een stevig, textuurloos model. Dit model is gemaakt door onze artiesten en geëxporteerd naar een formaat dat door de engine wordt gebruikt Competitie kan laden en animeren. (Merk op dat Garen niet-vlakke schaduw heeft: dit is een beperking van de toepassing die is gebruikt voor het weergaveonderzoek.)

Dit textuurloze model is niet alleen saai, maar laat ook geen herkenbare Garen zien. Om Garen tot leven te brengen, moet je textuur aanbrengen.

Voordat ze worden geladen, worden de texturen van Garen op schijf opgeslagen als DDS- of TGA-bestanden, die er zelf uitzien als een scène uit een horrorfilm. Na correcte overlay op het model krijgen we dit resultaat:

We beginnen al te slagen. De arcering die onze meshes met huidskleur weergeeft, doet meer dan alleen textuur aanbrengen, maar daar zullen we later naar kijken.

Dit waren de basisprincipes, maar Lol Er valt veel meer te renderen dan het model en de textuur van het personage. Laten we eens kijken naar de stappen die nodig zijn om de volgende scène weer te geven:

Renderingfase 0: Oorlogsmist

Voordat je delen van de scène gaat tekenen, moet je eerst de mist van oorlog en schaduwen voorbereiden (ooh, “mist en schaduwen”, hoe onheilspellend!). Fog of War wordt door de CPU opgeslagen als een mesh van 128x128, die vervolgens wordt geschaald naar een vierkante textuur van 512x512 (je kunt hier meer over lezen in het artikel “A Story of Fog and War”). Vervolgens vervagen we deze textuur en passen we deze toe om de overeenkomstige delen van het spel en de minimap donkerder te maken.


Renderingfase 1: Schaduwen

Schaduwen vormen een integraal onderdeel van een 3D-scène. Zonder hen zullen objecten plat lijken. Om schaduwen te creëren die eruit zien alsof ze door een minion of kampioen worden geworpen, moeten we ze weergeven vanuit de punt van de lichtbron. De afstand van de lichtbron tot het schaduwteken wordt voor elke pixel in de RGB-componenten opgeslagen en we stellen de alfa-transparantiecomponent in op nul. Dit is hieronder te zien. Aan de linkerkant hebben we het RGB-schaduwhoogteveld van de belegerde toren, volgelingen en twee kampioenen. Aan de rechterkant hebben we alleen de alfa-transparantiecomponent. Deze texturen zijn bijgesneden om schaduwdetails duidelijker weer te geven: volgelingen onderaan, toren en kampioenen bovenaan.


Ten slotte vervagen we de schaduwen om ze een mooie vloeiende rand te geven (samen met de nieuw toegevoegde framesnelheid-verhogende optimalisatie). Het resultaat is een textuur die kan worden toegepast op statische geometrie om schaduweffecten te creëren.

Renderingfase 2: Statische geometrie

Nu de oorlogsmist en schaduwtexturen klaar zijn, beginnen we de rest van de scène in het frame weer te geven. Allereerst de statische geometrie (zo wordt het genoemd omdat het bewegingsloos is). Deze geometrie combineert mist- en schaduwinformatie met de basistextuur, waardoor we de volgende scène krijgen:

Merk op hoe de schaduwen van de volgelingen en de oorlogsmist in de randen van het podium kruipen. De Summoner's Rift-renderer geeft geen dynamische schaduwen weer voor statische geometrie. Omdat de hoofdlichtbron niet beweegt, bakken we de schaduwen van statische meshes op hun texturen. Dit geeft kunstenaars meer controle over het uiterlijk van de kaart en zorgt ook voor meer controle prestatie (vereist geen statische mesh-schaduwweergave) Alleen volgelingen, torens en kampioenen werpen schaduwen.

Renderingfase 3: Meshes met huidskleur

We hebben dus het reliëf en de schaduwen, zodat we er objecten bovenop kunnen leggen. Minions, kampioenen en torens worden eerst toegepast, d.w.z. alle objecten met beweegbare gewrichten die realistisch moeten bewegen.

Elke geanimeerde mesh bestaat uit een skelet (een frame van hiërarchisch verbonden botten) en een mesh van driehoeken (zie de afbeelding van Garen hierboven). Elk hoekpunt van elke driehoek is vastgemaakt aan één tot vier botten, dus als je de botten verplaatst, bewegen de hoekpunten als huid mee. Daarom worden ze “skinned meshes” genoemd. Onze getalenteerde artiesten maken animaties en meshes voor alle objecten en exporteren deze vervolgens naar een formaat dat erin wordt geladen Competitie bij het starten van het spel.


De afbeeldingen hierboven tonen alle botten van Garens gaas. De afbeelding links toont al zijn botten (met namen). In de afbeelding rechts tonen de blauwe lijnen de geselecteerde hoekpunten, en de gele lijnen de verbindingen met de botten die hun positie bepalen.

Shaders met skinned mesh tekenen niet alleen meshes met skin in een framebuffer, ze geven hun geschaalde diepte ook weer in een andere buffer, die we later gebruiken om randen te tekenen. Bovendien berekenen skinning shaders Fresnel-reflecties, uitgezonden verlichting, berekenen ze reflecties en veranderen ze de verlichting voor de oorlogsmist.

Rendering Fase 4: Contouren (overzicht)

Standaard is de omtrek van netten met een skin ingeschakeld, wat scherpere omtrekken oplevert. Hierdoor kunnen gevilde meshes zich onderscheiden van de achtergrond, vooral in gebieden met weinig contrast. In de onderstaande afbeeldingen is de omtrek uitgeschakeld (links) en ingeschakeld (rechts).


Contouren worden gemaakt door de geschaalde diepte uit de vorige stap te nemen en deze te verwerken met de Sobel-operator om een ​​rand te extraheren, die we weergeven op een gaas met huid. Deze bewerking wordt voor elke mesh afzonderlijk uitgevoerd. Er is ook een retourmethode die de stencilbuffer gebruikt voor GPU's die niet meerdere objecten tegelijk kunnen weergeven.

Renderingfase 5: Gras

Laten we eens naar een andere scène kijken om te bepalen wat er bij het renderen van water en gras komt kijken.

Hier is een frame zonder water of gras, alleen statische achtergrondgeometrie en enkele meshes met een huidskleur.

Houd er rekening mee dat de grasschaduwen al deel uitmaken van de statische terreintextuur en niet dynamisch worden weergegeven. Dan voegen we het gras toe:

De grasplukjes zijn eigenlijk gevilde netten. Hierdoor kunnen we ze animeren terwijl personages er doorheen lopen en ze een mooi golvend effect geven in de wind in Summoner's Rift.

Weergavefase 6: Water

Na het gras renderen we het water met behulp van doorschijnende mazen met licht geanimeerde watertexturen. Dan voegen we waterlelies toe, rimpelingen rond de rotsen en vlakbij de kust, en insecten. Al deze objecten zijn geanimeerd om een ​​gevoel van leven op de scène te brengen.

Om het effect van het water te versterken (het is misschien te subtiel) heb ik het water transparant gehouden en de onderliggende geometrie genegeerd. Dit benadrukte de effecten van water, zodat we daar beter rekening mee konden houden in de analyse.

Als we alle rimpelingen als “draad”-frames selecteren, krijgen we:

Nu kunnen we duidelijk de effecten van water zien langs de oevers van de rivier, maar ook rond stenen en waterlelies.

Wanneer het water normaal wordt weergegeven en geanimeerd, ziet het er als volgt uit:

Renderingfase 7: stickers

Nadat we het gras en het water hebben neergelegd, voegen we emblemen toe: eenvoudige geometrische elementen met een platte textuur die over de bovenkant van het terrein worden gelegd, zoals de bereikindicator van de toren in de onderstaande afbeelding.

Renderingfase 8: speciale paden

Hier hebben we te maken met dikkere contouren die mogelijk worden gemaakt door muisgebeurtenissen of speciale activeringsstatussen, zoals in het geval van de torenomtrek in de onderstaande afbeelding. Dit gebeurt op vrijwel dezelfde manier als het maken van de omtrekken van de meshes met een huidskleur, maar hier vervagen we ook de omtrekken om ze dikker te maken. Deze accentuering valt nog meer op omdat deze later in het weergaveproces plaatsvindt en effecten kan overlappen die al zijn toegepast.

Weergavefase 9: Deeltjes

De volgende fase is een van de belangrijkste: deeltjes. In dit artikel heb ik al over deeltjes geschreven. Elke spreuk, verbetering en effect is een deeltjessysteem dat moet worden geanimeerd en bijgewerkt. De scène waar we naar kijken bevat niet zoveel actie als bijvoorbeeld een 5v5-teamgevecht, maar er zijn nog steeds behoorlijk wat deeltjes om weer te geven.

Als we alleen naar de deeltjes kijken (waarbij de hele achtergrondscène wordt uitgeschakeld), krijgen we het volgende beeld:

Als we de driehoeken waaruit de deeltjes bestaan, weergeven met paarse contouren (geen texturen, alleen geometrie), krijgen we het volgende:

Als we de deeltjes normaal tekenen, krijgen we een meer vertrouwd uiterlijk.

Renderingfase 10: nabewerkingseffecten

De basisdelen van de scène zijn dus al weergegeven en we kunnen er wat meer glans aan geven. Dit gebeurt in twee fasen. Eerst voeren we een anti-alias (AA) pass uit. Het helpt gekartelde randen glad te strijken, waardoor het hele frame er scherper uitziet. IN statisch beeld Dit effect is bijna onmerkbaar, maar het helpt enorm bij het elimineren van de "pixelflikkering" die kan optreden bij het verplaatsen van randen met hoog contrast over het scherm. IN Lol We gebruiken het Fast Approximate Anti-Aliasing (FXAA) smoothing-algoritme.

De afbeelding aan de linkerkant is de minion vóór FXAA, en die aan de rechterkant is na anti-aliasing. Merk op hoe de randen van het object worden gladgestreken.

Na voltooiing van de FXAA-passage voeren we een gammacorrectiepassage uit om de helderheid van de scène aan te passen. Als optimalisatie hebben we onlangs een desaturatie-effect voor het doodsscherm toegevoegd aan de gammacorrectiepas, waardoor het niet meer nodig is om alle shaders van de huidige zichtbare meshes te vervangen voor doodsvarianten die voorheen afzonderlijk waren gedesatureerd.

Weergavefase 11: Schade- en gezondheidsbalken

Vervolgens geven we alle spelindicatoren weer: gezondheidsbalken, schadetekst, tekst op het scherm, evenals alles effecten op volledig scherm, niet gerelateerd aan nabewerking, zoals het schade-effect in de onderstaande afbeelding.

Renderingfase 12: Interface

En ten slotte wordt de gebruikersinterface weergegeven. Alle tekst, pictogrammen en objecten worden op het scherm weergegeven als afzonderlijke texturen, waarbij alles eronder wordt overlapt. In het geval dat we hebben geanalyseerd waren er ongeveer duizend driehoeken nodig om de interface te tekenen; ongeveer 300 voor de minikaart en 700 voor al het andere.

Alles op een rij zetten


En we krijgen een volledig weergegeven scène. De hele scène bevat ongeveer 200.000 driehoeken, waarvan er 90.000 worden gebruikt voor deeltjes. Er worden 28 miljoen pixels weergegeven in 695 trekkingsoproepen. Om het spel speelbaar te maken, moet al dit werk zo snel mogelijk worden gedaan. Om 60 frames per seconde of meer te bereiken, moeten alle fasen in minder dan 16,66 milliseconden worden voltooid. En dit zijn slechts berekeningen aan de GPU-kant: alle spellogica, verwerking van spelersinvoer, botsingen, deeltjesverwerking, animaties en het verzenden van weergaveopdrachten moeten ook in dezelfde hoeveelheid tijd op de CPU worden uitgevoerd. Speel je op 300 fps, dan gebeurt alles in minder dan 3,3 milliseconden!

Waarom de renderer refactoren?

Nu zou je je de uitdagingen moeten kunnen voorstellen die gepaard gaan met het weergeven van een enkel frame van een game Competitie. Maar dat is slechts de uitvoerkant: wat u op het scherm ziet, is het resultaat van duizenden functieaanroepen naar onze rendering-engine. Het verandert en evolueert voortdurend om beter aan de moderne weergavebehoeften te voldoen. Dit heeft ertoe geleid dat er in de League-codebase verschillende vormen van weergavecode naast elkaar bestaan, omdat we nieuwe hardware moeten accommoderen en oudere hardware moeten ondersteunen. Summoner's Rift wordt bijvoorbeeld iets anders weergegeven dan Howling Abyss en Twisted Treeline. Er zijn delen van de renderer overgebleven van oudere versies Competitie en onderdelen die hun volledige potentieel nog niet hebben bereikt. De taak van het Render Strike Team is om alle renderingcode te nemen en deze te refactoren, zodat alle rendering via dezelfde interface gebeurt. Als we ons werk goed doen, zullen spelers helemaal geen verschil merken (behalve misschien een lichte snelheidsverhoging op verschillende punten). Maar nadat we klaar zijn, hebben we een geweldige kans om gelijktijdig wijzigingen aan te brengen in alle weergavemodi van de spelmodi Tags toevoegen 02 okt

Wat is renderen (rendering)

Renderen (weergave) is het proces waarbij een definitief beeld of een reeks beelden wordt gecreëerd op basis van tweedimensionale of driedimensionale gegevens. Dit proces vindt plaats met behulp van computerprogramma's en gaat vaak gepaard met moeilijke technische berekeningen rekenkracht computer of de afzonderlijke componenten ervan.

Het weergaveproces is op de een of andere manier aanwezig in verschillende gebieden professionele activiteiten, of het nu gaat om de filmindustrie, de videogamebranche of videobloggen. Vaak is renderen de laatste of voorlaatste fase in het werken aan een project, waarna het werk als voltooid wordt beschouwd of nog wat nabewerking nodig heeft. Het is ook vermeldenswaard dat weergave vaak niet het weergaveproces zelf wordt genoemd, maar eerder de reeds voltooide fase dit proces of het eindresultaat ervan.

de woorden "Render".

Het woord Render (Rendering) is Anglicisme, dat vaak in het Russisch wordt vertaald met het woord “ Visualisatie”.

Wat is 3D-rendering?

Als we het over renderen hebben, bedoelen we meestal renderen in 3D-graphics. Het is meteen de moeite waard om op te merken dat er bij 3D-weergave in feite geen drie dimensies als zodanig zijn, die we vaak in de bioscoop kunnen zien met een speciale bril op. Het voorvoegsel “3D” in de naam vertelt ons eerder over de methode voor het maken van een render, waarbij gebruik wordt gemaakt van driedimensionale objecten die zijn gemaakt in computerprogramma's voor 3D-modellering. Simpel gezegd: uiteindelijk krijgen we nog steeds een 2D-afbeelding of een reeks daarvan (video) die is gemaakt (gerenderd) op basis van een driedimensionaal model of scène.

Renderen is een van de moeilijkste dingen om te doen. technisch fasen in het werken met 3D-graphics. Om deze operatie uit te leggen in eenvoudige taal, kan een analogie worden gemaakt met het werk van fotografen. Om een ​​foto in al zijn glorie te laten verschijnen, moet de fotograaf een aantal technische fasen doorlopen, bijvoorbeeld het ontwikkelen van film of het afdrukken op een printer. 3D-kunstenaars worden belast met ongeveer dezelfde technische fasen, die, om het uiteindelijke beeld te creëren, de fase doorlopen van het opzetten van de render en het renderingproces zelf.

Constructie van het beeld.

Zoals eerder vermeld, is rendering een van de moeilijkste technische fasen, omdat er tijdens het renderen complexe fasen zijn wiskundige berekeningen, uitgevoerd door de render-engine. In dit stadium vertaalt de engine de wiskundige gegevens over de scène naar het uiteindelijke 2D-beeld. Het proces converteert de 3D-geometrie, texturen en verlichtingsgegevens van de scène naar de gecombineerde kleurwaarde-informatie van elke pixel in een 2D-afbeelding. Met andere woorden, de engine berekent op basis van de gegevens waarover hij beschikt welke kleur elke pixel van de afbeelding moet worden gekleurd om een ​​complex, mooi en compleet beeld te verkrijgen.

Belangrijkste weergavetypen:

Globaal gezien zijn er twee hoofdtypen weergave, waarvan de belangrijkste verschillen de snelheid zijn waarmee de afbeelding wordt berekend en voltooid, evenals de kwaliteit van de afbeelding.

Wat is realtime weergave?

Real-time weergave wordt vaak veel gebruikt bij gaming en interactieve afbeeldingen, waarbij de afbeelding met het maximum moet worden berekend hoge snelheid en onmiddellijk in ingevulde vorm op het beeldscherm weergegeven.

Aangezien de sleutelfactor bij dit type weergave interactiviteit van de kant van de gebruiker is, moet het beeld zonder vertraging en in bijna realtime worden weergegeven, aangezien het onmogelijk is om nauwkeurig het gedrag van de speler te voorspellen en hoe hij met de speler zal omgaan. spel of interactieve scène. Om een ​​interactieve scène of game soepel en zonder schokken en traagheid te laten verlopen, moet de 3D-engine het beeld weergeven met een snelheid van minimaal 20-25 frames per seconde. Als de weergavesnelheid lager is dan 20 frames, zal de gebruiker zich ongemakkelijk voelen bij de scène en schokken en langzame bewegingen waarnemen.

Het optimalisatieproces speelt een grote rol bij het creëren van een soepele weergave in games en interactieve scènes. Om de gewenste renderingsnelheid te bereiken, gebruiken ontwikkelaars verschillende trucs om de belasting van de render-engine te verminderen, in een poging het gedwongen aantal misrekeningen te verminderen. Dit omvat het verminderen van de kwaliteit van 3D-modellen en texturen, evenals het vastleggen van wat licht- en reliëfinformatie in voorgebakken textuurkaarten. Het is ook vermeldenswaard dat het grootste deel van de belasting bij het berekenen van de weergave in realtime op een specialist valt grafische hardware (videokaart -GPU), waarmee u de belasting kunt verminderen centrale verwerker(CPU) en maak verwerkingskracht vrij voor andere taken.

Wat is pre-render?

Pre-rendering wordt gebruikt wanneer snelheid geen prioriteit is en er geen behoefte is aan interactiviteit. Dit type weergave wordt het vaakst gebruikt in de filmindustrie, bij het werken met animatie en complexe visuele effecten, maar ook waar fotorealisme en een zeer hoge beeldkwaliteit nodig zijn.

In tegenstelling tot real-time rendering, waarbij de hoofdbelasting op grafische kaarten (GPU's) viel, valt de belasting bij pre-rendering op de centrale verwerkingseenheid (CPU) en hangt de weergavesnelheid af van het aantal cores, multi-threading en processor. prestatie.

Het komt vaak voor dat de weergavetijd voor één frame enkele uren of zelfs meerdere dagen duurt. IN in dit geval 3D-artiesten hebben weinig tot geen optimalisatie en kunnen 3D-modellen gebruiken hoogste kwaliteit, evenals textuurkaarten met een zeer hoge resolutie. Het resultaat is dat de foto veel beter en fotorealistischer wordt vergeleken met realtime weergave.

Renderprogramma's.

Nu zijn er een groot aantal rendering-engines op de markt, die verschillen in snelheid, beeldkwaliteit en gebruiksgemak.

Render-engines zijn in de regel ingebouwd in grote 3D grafische programma's en hebben een enorm potentieel. Onder de meest populaire 3D-programma's (pakketten) bevindt zich software als:

  • 3ds Max;
  • Maya;
  • Blender;
  • Bioscoop 4d enz.

Veel van deze 3D-pakketten bevatten al render-engines. De Mental Ray-renderengine is bijvoorbeeld aanwezig in het 3Ds Max-pakket. Bovendien kan vrijwel elke populaire render-engine worden gekoppeld aan de meeste bekende 3D-pakketten. Tot de populaire render-engines behoren de volgende:

  • V-straal;
  • mentale straal;
  • Corona-renderer enz.

Ik zou willen opmerken dat hoewel het renderingproces zeer complexe wiskundige berekeningen kent, ontwikkelaars van 3D-renderingprogramma's op alle mogelijke manieren proberen 3D-kunstenaars te behoeden voor het werken met de complexe wiskunde die aan het renderingprogramma ten grondslag ligt. Ze proberen relatief eenvoudig te begrijpen parametrische renderinstellingen te bieden, evenals materiaal- en verlichtingssets en bibliotheken.

Veel render-engines hebben bekendheid verworven op bepaalde gebieden van het werken met 3D-graphics. “V-ray” is bijvoorbeeld erg populair onder architecturale visualisaties vanwege de aanwezigheid grote hoeveelheid materialen voor architectonische visualisatie en in het algemeen een goede weergavekwaliteit.

Visualisatiemethoden.

De meeste render-engines gebruiken drie hoofdberekeningsmethoden. Elk van hen heeft zowel zijn voor- als nadelen, maar alle drie de methoden hebben het recht om in bepaalde situaties te worden gebruikt.

1. Scanlijn (scanlijn).

Scanline-weergave is de keuze van degenen die snelheid boven kwaliteit stellen. Vanwege de snelheid wordt dit type weergave vaak gebruikt in videogames en interactieve scènes, maar ook in viewports van verschillende 3D-pakketten. Met een moderne videoadapter kan dit type weergave in realtime een stabiel en vloeiend beeld opleveren met een frequentie van 30 frames per seconde en hoger.

Werkalgoritme:

In plaats van "pixel voor pixel" weer te geven, is het algoritme van de "scanline"-renderer dat het het zichtbare oppervlak in 3D-afbeeldingen bepaalt, en werkt volgens een "rij voor rij"-principe, waarbij eerst de polygonen die nodig zijn voor weergave worden gesorteerd op de hoogste Y coördinaat, die bij een bepaalde polygoon hoort, waarna elke rij van het beeld wordt berekend door de rij te snijden met de polygoon die zich het dichtst bij de camera bevindt. Polygonen die niet langer zichtbaar zijn, worden verwijderd als u van de ene rij naar de volgende gaat.

Het voordeel van dit algoritme is dat het niet nodig is om de coördinaten van elk hoekpunt van het hoofdgeheugen naar het werkgeheugen over te brengen, en dat de coördinaten van alleen die hoekpunten die binnen de zichtbaarheids- en weergavezone vallen, worden vertaald.

2. Raytrace (raytrace).

Dit type weergave is gemaakt voor degenen die een foto willen met de hoogste kwaliteit en gedetailleerde weergave. Dit specifieke type weergave is erg populair onder fans van fotorealisme, en het is de moeite waard om op te merken dat dit niet zonder reden is. Heel vaak kunnen we met behulp van ray trace-weergave verbluffend realistische opnamen van de natuur en architectuur zien, die niet iedereen kan onderscheiden van foto's; bovendien wordt de ray trace-methode vaak gebruikt bij het werken aan afbeeldingen in CG-trailers of films.

Helaas, omwille van de kwaliteit, dit algoritme rendering is erg traag en kan nog niet worden gebruikt in real-time graphics.

Werkalgoritme:

Het idee van het Raytrace-algoritme is dat voor elke pixel op een conventioneel scherm één of meer stralen worden getraceerd van de camera naar de dichtstbijzijnde driedimensionaal voorwerp. De lichtstraal gaat vervolgens door een bepaald aantal weerkaatsingen, waaronder mogelijk reflecties of brekingen, afhankelijk van het materiaal van de scène. De kleur van elke pixel wordt algoritmisch berekend op basis van de interactie van de lichtstraal met objecten op het gevolgde pad.

Raycasting-methode.

Het algoritme werkt op basis van het 'werpen' van stralen alsof ze vanuit het oog van de waarnemer door elke pixel van het scherm komen en het dichtstbijzijnde object vinden dat het pad van zo'n straal blokkeert. Met behulp van de eigenschappen van het object, het materiaal en de scèneverlichting verkrijgen we de gewenste pixelkleur.

Het komt vaak voor dat de “ray tracing methode” (raytrace) wordt verward met de “ray casting” methode. Maar in feite is ‘raycasting’ (de methode om een ​​straal uit te werpen) eigenlijk een vereenvoudigde ‘raytrace’-methode, waarbij er geen verdere verwerking van verdwaalde of gebroken stralen plaatsvindt, en alleen het eerste oppervlak in het pad van de straal wordt berekend. .

3. Radiositeit.

In plaats van een "ray tracing"-methode werkt de weergave bij deze methode onafhankelijk van de camera en is objectgeoriënteerd, in tegenstelling tot de "pixel voor pixel"-methode. De belangrijkste functie van “radiositeit” is het nauwkeuriger simuleren van de oppervlaktekleur door rekening te houden met indirecte verlichting (verstrooid licht dat weerkaatst).

De voordelen van “radiositeit” zijn zachte, geleidelijke schaduwen en kleurreflecties op een object afkomstig van aangrenzende objecten met heldere kleuren.

Het is een vrij populaire praktijk om Radiosity en Raytrace samen te gebruiken om de meest indrukwekkende en fotorealistische weergaven te verkrijgen.

Wat is videoweergave?

Soms wordt de uitdrukking “render” niet alleen gebruikt bij het werken met 3D-computergraphics, maar ook bij het werken met videobestanden. Het videoweergaveproces begint wanneer de gebruiker van de video-editor klaar is met werken aan het videobestand, alle parameters heeft ingesteld die hij nodig heeft, audiosporen en visuele effecten. Het enige dat overblijft, is alles wat we hebben gedaan in één videobestand combineren. Dit proces kan worden vergeleken met het werk van een programmeur wanneer hij de code heeft geschreven, waarna hij alleen nog maar alle code hoeft te compileren tot een werkend programma.

Net als bij een 3D-ontwerper of een video-editor vindt het weergaveproces automatisch en zonder tussenkomst van de gebruiker plaats. Het enige dat nodig is, is het instellen van enkele parameters voordat u begint.

De snelheid van videoweergave hangt af van de lengte en kwaliteit die van de uitvoer wordt vereist. Kortom, het grootste deel van de berekening valt op de kracht van de centrale processor, daarom hangt de snelheid van videoweergave af van de prestaties.

Categorieën: , // van