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