Eventi
17 mar, 21 - 21 mar, 10
Partecipa alla serie meetup per creare soluzioni di intelligenza artificiale scalabili basate su casi d'uso reali con altri sviluppatori ed esperti.
Iscriviti subitoQuesto browser non è più supportato.
Esegui l'aggiornamento a Microsoft Edge per sfruttare i vantaggi di funzionalità più recenti, aggiornamenti della sicurezza e supporto tecnico.
Per scenari di doppio buffering più avanzati, è possibile usare le classi .NET Framework per implementare la propria logica di doppio buffering. La classe responsabile dell'allocazione e della gestione dei singoli buffer grafici è la classe BufferedGraphicsContext. Ogni applicazione ha un proprio BufferedGraphicsContext predefinito che gestisce tutto il doppio buffer predefinito per tale applicazione. È possibile recuperare un riferimento a questa istanza chiamando il Current.
Impostare la proprietà Current, come illustrato nell'esempio di codice seguente.
BufferedGraphicsContext myContext;
myContext = BufferedGraphicsManager.Current;
Dim myContext As BufferedGraphicsContext
myContext = BufferedGraphicsManager.Current
Nota
Non è necessario invocare il metodo Dispose
sul riferimento BufferedGraphicsContext che si riceve dalla classe BufferedGraphicsManager. Il BufferedGraphicsManager gestisce tutte le allocazioni di memoria e la distribuzione per le istanze predefinite di BufferedGraphicsContext.
Per applicazioni a elevato utilizzo grafico, ad esempio l'animazione, a volte è possibile migliorare le prestazioni usando un BufferedGraphicsContext dedicato anziché il BufferedGraphicsContext fornito dalla BufferedGraphicsManager. In questo modo è possibile creare e gestire i buffer grafici singolarmente, senza incorrere nel sovraccarico delle prestazioni di gestione di tutte le altre immagini memorizzate nel buffer associate all'applicazione, anche se la memoria utilizzata dall'applicazione sarà maggiore.
Dichiarare e creare una nuova istanza della classe BufferedGraphicsContext, come illustrato nell'esempio di codice seguente.
BufferedGraphicsContext myContext;
myContext = new BufferedGraphicsContext();
// Insert code to create graphics here.
// On a non-default BufferedGraphicsContext instance, you should always
// call Dispose when finished.
myContext.Dispose();
Dim myContext As BufferedGraphicsContext
myContext = New BufferedGraphicsContext
' Insert code to create graphics here.
' On a nondefault BufferedGraphicsContext instance, you should always
' call Dispose when finished.
myContext.Dispose()
Feedback su .NET Desktop feedback
.NET Desktop feedback è un progetto di open source. Selezionare un collegamento per fornire feedback:
Eventi
17 mar, 21 - 21 mar, 10
Partecipa alla serie meetup per creare soluzioni di intelligenza artificiale scalabili basate su casi d'uso reali con altri sviluppatori ed esperti.
Iscriviti subitoFormazione
Modulo
Gestire le implementazioni della classe - Training
Informazioni su come implementare classi usando tecniche avanzate come classi statiche, classi parziali e inizializzatori di oggetti che possono migliorare la leggibilità, la gestibilità e l'organizzazione del codice.
Documentazione
Uso del doppio buffer - Windows Forms .NET Framework
Informazioni su come usare grafica con doppio buffer per ridurre lo sfarfallio nelle applicazioni Windows Form usando una selezione di argomenti ed esercitazioni.
Grafica con doppio buffer - Windows Forms .NET Framework
Informazioni su come usare grafica con doppio buffer in Windows Form per ridurre lo sfarfallio nella grafica di programmazione.
Informazioni su come eseguire manualmente il rendering della grafica memorizzata nel buffer usando le istanze della classe System.Drawing.BufferedGraphics.
Scopri come ridurre lo sfarfallio della grafica con il doppio buffering per Windows Form e utilizza i controlli per risolvere i problemi di sfarfallio associati alle operazioni di pittura.