Книга: Описание языка PascalABC.NET
Ускорение перерисовки графических объектов
Ускорение перерисовки графических объектов
Для обеспечения быстрой перерисовки используется следующий прием: в начале программы вызывается LockDrawingObjects, а при необходимости перерисовать весь экран – специальная процедура RedrawObjects. Отключается режим вызовом UnLockDrawingObjects.
При наличии большого количества объектов, каждый из которых движется, такой прием может ощутимо ускорить анимацию. Причина здесь кроется в следующем: по умолчанию при каждом движении объекта он перерисовывается в своем прямоугольнике, при этом в этом прямоугольнике перерисовываются все объекты. Если в графическом окне 100 объектов, и каждый из них переместился, то происходит 100*100=10000 перерисовок объектов. После вызова LockDrawingObjects перерисовки не происходит, а в результате вызова RedrawObjects каждый объект прорисовывается только один раз, то есть происходит всего 100 перерисовок объектов.
Следует обратить внимание, что в модуле GraphABC имеются родственные процедуры LockDrawing, UnLockDrawing, и Redraw. Однако, они отвечают за растровую перерисовку без мерцания, в то время как процедуры LockDrawingObjects, UnLockDrawingObjects, и RedrawObjects отвечают только за ускорение перерисовки векторной графики ABCObjects (отсутствие мерцания векторных объектов при их изменении обеспечивается автоматически).
- Модуль ABCObjects: обзор
- Диаграмма классов
- Класс ObjectABC
- Класс BoundedObjectABC
- Класс RectangleABC
- Класс SquareABC
- Класс EllipseABC
- Класс CircleABC
- Класс RoundRectABC
- Класс RoundSquareABC
- Класс TextABC
- Класс RegularPolygonABC
- Класс StarABC
- Класс PictureABC
- Класс MultiPictureABC
- Класс BoardABC
- Класс ObjectBoardABC
- Мультирисунки
- Массив всех графических объектов Objects
- Переменные, процедуры и функции модуля ABCObjects
- Ускорение перерисовки графических объектов
- Совмещение графического вывода модулей ABCObjects и GraphABC
- Иерархия объектов в InterBase
- Имена объектов длиной 68 символов
- Создание объектов Collection
- 3.3. Определение объектов защиты
- 2.3.6. Задание объектов физической памяти
- Определение контекстно-связанных объектов
- 6.2. Описание объектов
- 9.5.2. Ускорение сайта
- Листинг 11.11. Три полезных способа кэширования графических ресурсов
- Активация хорошо известных объектов
- Упорядочивание объектов в Проводнике
- Просмотр свойств объектов