Windows Forms использует GDI для рендеринга.GDI - это оригинальный графический интерфейс в Windows.DirectX - это более новый интерфейс, изначально созданный для разработки игр, но теперь он также используется средами более высокого уровня, такими как WPF.
GDI основан на концепции метода рисования.Когда окно отображается, Windows отправит сообщение о рисовании коду, ответственному за окно.Это приведет к вызову метода рисования.Метод рисования должен затем нарисовать содержимое окна на экране.
Когда программа GDI хочет обновить отображаемое , она не может напрямую нарисовать обновленное изображение на экране .Вместо этого он должен сказать Windows, что область должна быть обновлена.Это называется аннулирование региона.Затем Windows вызовет соответствующий метод рисования, предоставляющий информацию о том, что недействительно и нуждается в обновлении.Затем метод рисования должен отобразить обновленное содержимое на экране.
Этот метод обновления содержимого экрана также используется, когда окна перетаскиваются через другие окна.Когда GDI разрабатывался, графическое оборудование было довольно медленным, и внутри Windows была проделана большая работа для кэширования растровых изображений и только для аннулирования и обновления того, что изменилось.
Когда отрисовываются перекрывающиеся окна или дочерние окна, это делается обратнофронт, чтобы получить правильное наложение визуальных элементов.Это может привести к мерцанию, когда фон стирается и рисуется, за которым следуют другие элементы впереди.Если скорость перерисовки ниже, чем при обновлении экрана, вы можете заметить некоторое мерцание.Это контрольный признак приложения GDI, возможно созданного с использованием Windows Forms.
В Windows Forms, когда вы аннулируете элемент управления, который вы запрашиваете, чтобы он был redrawn .