Экранирование обновлений

Графическая система MATLAB

Графика MATLAB® реализована с помощью нескольких потоков выполнения. Следующая схема иллюстрирует, как основные потоки и потоки средства отображения взаимодействуют во время процесса обновления. Сторона MATLAB содержит графическую модель, которая описывает геометрию, представленную аппаратным обеспечением машинной графики. Сторона средства отображения имеет копию геометрии в ее собственной системе памяти. Аппаратное обеспечение машинной графики может представить экран, не блокируя казнь MATLAB.

Когда графическая модель изменяется, эти обновления должны быть переданы аппаратному обеспечению машинной графики. Отправка обновлений может быть узким местом, потому что аппаратное обеспечение машинной графики не поддерживает все типы данных MATLAB. Процесс обновления должен преобразовать данные в правильную форму.

Когда геометрия находится в памяти аппаратного обеспечения машинной графики, можно осознать преимущества производительности при помощи этого данные и минимизация данных, отправленных в обновлении.

Обновления управления

Обновления включают эти шаги:

  • Собирая изменения, которые требуют обновления экрана, такого как изменения свойства и добавленные объекты.

  • Обновление зависимостей в графической модели.

  • Отправка этих обновлений средства отображения.

  • Ожидание средства отображения, чтобы принять эти обновления перед возвращающимся выполнением к MATLAB.

Вы инициируете обновление путем вызывания функции drawnow. drawnow завершает выполнение, когда средство отображения принимает обновления, которые могут произойти, прежде чем средство отображения завершает обновление экрана.

Явные обновления

Во время функционального выполнения, добавляя графические объекты к фигуре или изменяя свойства существующих объектов не обязательно вызывает незамедлительное обновление экрана. Процесс обновления происходит, когда существуют изменения в графике, которая должна быть обновлена, и код:

  • drawnow вызовов, pause, figure или другие функции, которые эффективно вызывают обновление (см. drawnow).

  • Запрашивает свойство, значение которого зависит от других свойств (см. Automatically Calculated Properties).

  • Завершает выполнение и возвращает управление в посдказку MATLAB или отладчик.

Была ли эта тема полезной?