Como gerenciar manualmente gráficos em buffer
Para cenários de buffer duplo mais avançados, você pode usar as classes do .NET Framework para implementar sua própria lógica de buffer duplo. A classe responsável por alocar e gerenciar buffers gráficos individuais é a classe BufferedGraphicsContext. Cada aplicativo tem seu próprio BufferedGraphicsContext padrão que gerencia todo o buffer duplo padrão para esse aplicativo. Você pode recuperar uma referência a essa instância chamando o Current.
Para obter uma referência ao BufferedGraphicsContext padrão
Defina a propriedade Current, conforme mostrado no exemplo de código a seguir.
BufferedGraphicsContext myContext; myContext = BufferedGraphicsManager.Current;
Dim myContext As BufferedGraphicsContext myContext = BufferedGraphicsManager.Current
Nota
Você não precisa chamar o método
Dispose
na referência BufferedGraphicsContext que você recebe da classe BufferedGraphicsManager. O BufferedGraphicsManager manipula toda a alocação e distribuição de memória para instâncias de BufferedGraphicsContext padrão.Para aplicativos graficamente intensivos, como animação, às vezes você pode melhorar o desempenho usando um BufferedGraphicsContext dedicado em vez do BufferedGraphicsContext fornecido pelo BufferedGraphicsManager. Isso permite que você crie e gerencie buffers gráficos individualmente, sem incorrer na sobrecarga de desempenho do gerenciamento de todos os outros elementos gráficos em buffer associados ao aplicativo, embora a memória consumida pelo aplicativo seja maior.
Para criar um BufferedGraphicsContext dedicado
Declare e crie uma nova instância da classe BufferedGraphicsContext, conforme mostrado no exemplo de código a seguir.
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()
Consulte também
.NET Desktop feedback