Stap 4: Framebuffer
Dit onderdeel is essentieel voor het toestaan van GPU om versnelde operaties op de afbeeldingsgegevens opgeslagen in het RAM-geheugen. De VDC vereist afbeeldingspixels te verstrekken met een vaste gegevenssnelheid, en verstrekken die door het openen van de RAM zou overmatig gebruik van de RAM-controller en niet laat voldoende tijd voor andere modules werken op de afbeeldingsgegevens. Daarom moeten we een buffer gebruiken voor het opslaan van de pixels van de aanstaande lijn weer te geven; deze gegevens kunnen worden bijgewerkt tijdens de horizontale dode zone van de video display controller en vervolgens gratis de geheugenbus.
Naast deze belangrijkste functie van het bufferen, kan deze module ook worden gebruikt voor het maken van meerdere display vlakken en mengen ze met een passende transparantie-strategie. As a matter of fact, zoals de framebuffer moet gaan en een lijn op de grootte van de weergave-indeling op te halen, kan het fetching adres gespeeld worden met versnelling verstrekken over functies zoals schuiven. Het volgende onderdeel is het resultaat van ons ontwerp.
Onze framebuffer kunnen maximaal vier onafhankelijke vertoning frames, elke laag van het display is volledig klantgericht in grootte en het geheugen locatie. Ze zijn onafhankelijk waarin kan worden gebladerd en ze naar video-uitgang kunnen worden gemengd met binaire transparantie blending of alpha blending.
Core functionaliteiten
De framebuffer biedt de volgende bewerkingen:
- volledig aanpasbare weergave vliegtuigen (grootte, locatie in het geheugen),
- schuiven,
- laag overvloeien (binaire transparantie of Alfa tranparency) weergeven
Demo
Basiswerking van de Frame Buffer wordt weergegeven in de video. Vier lagen worden gemaakt van de verbeelde aangesloten op deze stap. Laag 0 is 640 x 480, lagen 1 tot en met 3 zijn van 320 x 240 en hebben een transparante achtergrond, layer 3 heeft ook een alfakanaal van 75%.
Schuiven, mengen en alpha transparantie weergegeven in de video.