Compartilhar via


Como: Gerenciar manualmente no buffer de elementos gráficos

Para cenários buffer duplos mais avançados, você pode usar o .NET Framework classes para implementar sua própria lógica de buffer duplo. A classe responsável por alocar e gerenciar os buffers de gráficos individuais é o BufferedGraphicsContext classe. Cada aplicativo tem seu próprio padrão BufferedGraphicsContext que gerencia todos os padrão buffer duplo para o aplicativo. Você pode recuperar uma referência a essa instância chamando o Current.

Para obter uma referência para o padrão BufferedGraphicsContext

  • Definir o Current a propriedade, como mostrado no seguinte exemplo de código.

            Dim myContext As BufferedGraphicsContext
            myContext = BufferedGraphicsManager.Current
    
    
    BufferedGraphicsContext myContext;
    myContext = BufferedGraphicsManager.Current;
    
    ObservaçãoObservação

    Você não precisa chamar o Dispose método o BufferedGraphicsContext referência que você recebe da BufferedGraphicsManager classe. O BufferedGraphicsManager trata de todo a alocação de memória e a distribuição para o padrão BufferedGraphicsContext instâncias.

    Para aplicativos que usam gráficos pesados como, por exemplo, animação, às vezes, você pode melhorar desempenho usando um dedicado BufferedGraphicsContext em vez da BufferedGraphicsContext fornecida pelo BufferedGraphicsManager. Isso permite que você crie e gerencie os buffers de gráficos individualmente, sem incorrer em sobrecarga de desempenho do gerenciamento de todos os outros em buffer gráficos associados ao seu aplicativo, embora a memória consumida pelo aplicativo será maior.

Para criar um dedicado BufferedGraphicsContext

  • Declarar e criar uma nova instância de BufferedGraphicsContext classe, conforme mostrado no seguinte exemplo de código.

            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()
    
    
    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();
    

Consulte também

Tarefas

Como: Processar manualmente os gráficos em buffer

Referência

BufferedGraphicsContext

Conceitos

Duplo em buffer gráficos