Wat is de directe modus?
In computerafbeeldingen programmeren is de directe modus een renderingstatus waarin de normale volgorde van acties, en het raamwerk waarin ze bestaan, volledig worden omzeild en, in sommige gevallen, gedeactiveerd. Dit betekent dat de toepassing die wordt uitgevoerd, de functies moet oproepen die nodig zijn om alles op een display -apparaat zoals een monitor te laten zien in plaats van te vertrouwen op aangeboren cycli buiten het programma. De directe modus wordt meestal gebruikt voor programma's die de snelst mogelijke rendertijden vereisen, zoals multimediatoepassingen of videogames, of wordt gebruikt als een leermiddel bij het leren hoe complexe grafische bibliotheken te gebruiken. Een slecht ontworpen of onjuist geïmplementeerd programma dat gebruik maakt van de directe modus die wordt gebruikt, kan schermen of lege gebieden van een scherm laten verschijnen en blijven bestaan, omdat er geen automatische oproepen worden gedaan om het huidige frame opnieuw te tekenen. Eén variatie staat bekend als gemengde modus, waarbij een programma het vastgehouden rendering -framework op zijn plaats houdt terwijl hij probeert control bepaalde delen ervan door functies met onmiddellijke modus -stijl.
In veel computertoepassingen wordt informatie of afbeeldingen voor een display-apparaat uitgevoerd via gebeurtenisgestuurde programma-architectuur. Dit betekent dat het scherm alleen opnieuw wordt getekend als reactie op een soort invoer van een programma of de gebruiker. Dit werkt goed voor programma's zoals tekstverwerkers of webbrowsers, maar het werkt niet voor applicaties zoals multimedia -spelers, artistieke renderingsoftware of videogames waarin een scherm mogelijk 60 of meer keer elke seconde opnieuw moet worden getekend zonder enige vorm van invoer. De oplossing is om de directe modus te gebruiken.
In plaats van een besturingssysteem of grafische bibliotheek te laten regelen wanneer en hoe een display wordt bijgewerkt en weergegeven, heeft het programma volledige controle, waardoor barrières tussen het display -apparaat en de applicatiecode worden verwijderd. Op deze manier kan een programma zijn eigen ontslag creërenY -lus, met behulp van timers en andere aangepaste code, dus het scherm wordt zoveel of zo weinig keer opnieuw getekend als nodig is om het gewenste resultaat te bereiken. Een complicatie in het gebruik van de directe modus is dat sommige van de transparante kenmerken van de weergave van de behouden modus - zoals een geometrie -engine - mogelijk niet beschikbaar zijn, waardoor de applicatie zijn eigen implementaties heeft. Een ander probleem is dat een programma een grote hoeveelheid verwerkingskracht kan vereisen om de renderinglus met een acceptabele snelheid te behouden.
Een alternatief voor het exclusief gebruiken van de directe modus is het gebruik van een gemengde renderingmodus. In dit ontwerp wordt het behouden modus-rendering-framework op zijn plaats gehouden, zodat alle functionaliteit van een grafische bibliotheek kan worden gebruikt, maar bepaalde functies of methoden worden opgeheven en vervangen door door gebruikers gegenereerde code die het bestaande rendering-framework kan dwingen om te werken op een manier die meer lijkt op de onmiddellijke modus. Deze methode kan effectief zijn, maar het kan ook code maken die moeilijk te DE isBug en kan onverwachte resultaten hebben, afhankelijk van hoe de gebruikerscode en de bibliotheekcode op elkaar inwerken.