Производительность становится проблемой при работе с большими объемами данных и большим количеством объектов. В таких случаях можно повысить скорость выполнения графического кода, минимизируя влияние двух факторов, способствующих общему времени выполнения:
Создание объекта - добавление новых графических объектов в сцену.
Обновления экрана - обновление графической модели и отправка изменений для визуализации.
Часто можно предотвратить доминирование этих действий над общим временем выполнения конкретного шаблона программирования. Считать время выполнения суммой нескольких терминов:
T время выполнения = T создание объектов + T обновление + (T вычисления и т.д.)
В следующих примерах показаны способы минимизации времени, затрачиваемого на создание и обновление экрана. В предыдущем выражении время выполнения не включает время, затраченное на фактическую визуализацию экрана.
Создайте профиль кода и оптимизируйте алгоритмы, вычисления и другие узкие места, специфичные для вашего приложения. Затем определите, занимает ли код больше времени в функциях создания объекта или drawnow (обновление). Можно начать оптимизировать обе операции, начиная с большего члена в уравнении общего времени.
Ваш код:
Создавать новые объекты вместо обновления существующих? См. раздел Разумное создание объектов.
Обновление объекта с некоторым процентом статических данных? См. раздел Избегание обновления статических данных.
Поиск дескрипторов объектов. См. раздел Предотвращение повторного поиска объектов.
Поворот, перемещение или масштабирование объектов? См. раздел Эффективное преобразование объектов.
Запрос и настройка свойств в одном цикле? См. раздел Получение и настройка свойств.