Dupla pufferelés grafika

A villogás gyakori probléma, amikor a programozás grafika. Graphics műveleteket igénylő több összetett rajz műveleteket vezethet, hogy láthatóvá képeket villog, vagy elfogadhatatlan megjelenést. Ahhoz, hogy ezeket a problémákat. NET Framework hozzáférést biztosít dupla pufferelés.







Amikor a kettős pufferelés megoldani a problémákat, amelyek több ismétlődését rajz műveleteket, használjon buffer. Ha dupla pufferelés be van kapcsolva, minden rajzműveletek először végre a memóriában, és akkor is csak a számítógép képernyőjén. Elvégzése után a rajz műveletek a tartalmát a puffer memória másolása közvetlenül a hozzá tartozó területet a képernyőn. Mivel a képernyő csak akkor kerül végrehajtásra egy grafikus működés, a vibrálás, amely gyakran előfordul összetett rajz műveleteket eltűnik.

A legegyszerűbb módja, hogy használja a kettős pufferelés - lehetővé alapértelmezett dupla pufferelés minden formájában és ellenőrzések által a .NET-keretrendszer. Ahhoz, hogy kapcsoljuk be a dupla pufferelés az űrlapok Windows Forms és a Windows vezérlők, meg kell adnia egy tulajdonság DoubleBuffered igaz vagy használja a módszert SetStyle. További információért lásd. Hogyan. Csökkentése jitter hatását kettős pufferelés az űrlapok és a kontrollok.







Bonyolultabb esetekben, puffer, például megjelenik egy animáció vagy egy komplex memória kezelése segítségével végre egyéni logika osztályok .NET Framework dupla pufferelés. Kiválasztására irányuló egyedi grafikával pufferek és felelős menedzsment BufferedGraphicsContext osztályban. Minden alkalmazási területen saját példányát az alapértelmezett BufferedGraphicsContext, amely kezeli az összes alapértelmezett dupla pufferelés egy adott alkalmazás. A legtöbb esetben az alkalmazás csak egy domént és egy példányát az alapértelmezett BufferedGraphicsContext. Alapértelmezett másolatok BufferedGraphicsContext kezelési osztályok BufferedGraphicsManager. Egy link az alapértelmezett BufferedGraphicsContext példányok beszerezhetők a tulajdonát BufferedGraphicsManager.Current. Ezen felül, akkor javíthatja az alkalmazások teljesítményét azáltal, hogy aktívan használja a grafikus képességek létrehozásával egy dedikált példány BufferedGraphicsContext. További információk létre példányt BufferedGraphicsContext cm. A How. Management pufferelt grafika.

Ahhoz, hogy használni BufferedGraphicsContext például az osztály létrehozása grafikus pufferek okozhat BufferedGraphicsContext.Allocate módszer. BufferedGraphics amely megjelenít egy osztály példánya. Object BufferedGraphics arra szolgál, hogy ellenőrizzék a puffer memória társított rendering területen, például olyan formában, vagy kontroll.

Miután létrehozta BufferedGraphics objektumot ez a tárgy irányítaná a képalkotáshoz közvetlenül a tár. Át a képet, hogy a memória puffer felhasználható BufferedGraphics.Graphics tulajdon. amely arra szolgál, hogy hozzáférjen a grafikus objektum. képviselő a tartalmát a memória puffer. Képek átvitele a grafikus objektum nem különbözik a képek átvitele grafikus objektum. amely a képernyő felületét. A felvétel után az összes információt a kép a vágólapra, akkor BufferedGraphics.Render módszer. másolni a tartalmát a vágólapra a megfelelő területet a képernyőn.