Практическое руководство. Управление буферизацией графики вручную
Для более сложных сценариях буферизации, можно использовать .NET Framework классы для реализации собственной логики двойной буферизации. Класс, отвечающий за выделение и управление ими отдельных буферов графики является BufferedGraphicsContext класса. Каждое приложение имеет свои собственные значения по умолчанию BufferedGraphicsContext , управляет всеми двойную буферизацию для этого приложения. Ссылка на этот экземпляр можно получить, вызвав Current.
Для получения ссылки на значение по умолчанию BufferedGraphicsContext
Задать Current свойства, как показано в следующем примере кода.
BufferedGraphicsContext myContext; myContext = BufferedGraphicsManager.Current;
Note
Необходимо вызвать
Dispose
метод BufferedGraphicsContext ссылку, полученное от BufferedGraphicsManager класса. BufferedGraphicsManager Обрабатывает все выделения памяти и распространения по умолчанию BufferedGraphicsContext экземпляров.Для насыщенных графикой приложений, таких как анимации, может иногда повысить производительность с помощью специальной BufferedGraphicsContext вместо BufferedGraphicsContext предоставляемые BufferedGraphicsManager. Это позволяет создавать и управлять ими буферы графики по отдельности, без несения издержек производительности управления все другие буферизованной графики для вашего приложения на то, что память, занятая приложения будет больше.
Чтобы создать выделенный BufferedGraphicsContext
Объявите и создайте новый экземпляр класса BufferedGraphicsContext класса, как показано в следующем примере кода.
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();