Содержатся тесты компонентов среды визуализации и управления (СВУ) с анализом, выводами и мероприятиями.
Процесс | Исходное время (мс) | Результирующее время (мс) | Комментарии |
Цикл обновления визуализатора "Vision" | |||
Полный секундный цикл обновления | 43 | 10 | |
Обработка списка открытых окон | 2.3 | 2.2 | Незначительное улучшение за счёт выделение функции запроса перечня открытых окон в сервисные функции быстрого доступа. |
Обновление открытых страниц | 41 | 9 | |
Запрос атрибутов | 24 | 7 | Значительно сократилось за счёт введения общего счетчика модификации виджета и вынос запроса на обновления списка не пользовательских атрибутов в цикл обсчёта сеанса. |
Вызов функции setAttr(), для полученных атрибутов | 19 | 2 | Значительно сократилось за счёт пересмотра и доработки примитива "ElText". |
Цикл обсчета сеанса пользовательского интерфейса модели данных СВУ. | |||
Полный цикл вычисления | 53 | 21 | Значительно сократилось, за счёт пересмотра последовательности вычисления виджета и уменьшения периодичности обновления списка: слинкованых атрибутов и активных дочерних виджетов. |
11.07.2008
Основание: Для оценки потенциальных возможностей по производительности среды визуализации, а также с целью повышения производительности и возможности создания мнемосхем с большим количеством виджетов была проведена оптимизация визуализации виджетов, как в режиме разработки, так и в режиме исполнения.
Условия: Замер временных интервалов выполнялся на вычислительной машине Pentium 4 3200.
Процесс | Исходное время (мс) | Результирующее время (мс) | Комментарии |
160 эллиптических дуг по одной в каждом виджете с радиусами по 20 пискселов и толщиной линии, равной 1 | Загрузка: 497; Инициализация, отрисовка: 355 | Загрузка: 333; Инициализация, отрисовка: 273 | |
160 эллиптических дуг по одной в каждом виджете с радиусами по 20 пискселов и толщиной линии, равной 1 с заливкой в каждой | Загрузка: 492; Инициализация, отрисовка: 1379 | Загрузка: 326; Инициализация, отрисовка: 470 | |
160 эллиптических дуг по одной в каждом виджете с радиусами по 20 пискселов и толщиной линии, равной 1 с заливкой в каждой и с масштабом страницы, на которой лежат эти 160 виджетов, равным 0.5 по X и по Y | Загрузка: 495; Инициализация, отрисовка: 1430 | Загрузка: 334; Инициализация, отрисовка: 452 | Как видно, присутствие масштабных коэффиуиентов, не равных 1, существенно не влияет ни на загрузку, ни на инициализацию и отрисовку. |
160 линий по одной в каждом виджете, длиной 40 и тощиной 10 пикселов | Загрузка: 451; Инициализация, отрисовка: 70 | Загрузка: 315; Инициализация, отрисовка: 5 | |
160 прямоугольников по одном в каждом виджете, длиной 40, шириной 10 и толщиной линии 1 пиксел с заливкой в каждом | Загрузка: 486; Инициализация, отрисовка: 175 | Загрузка: 336; Инициализация, отрисовка: 38 | |
240 линий по 20 в каждом виджете(всего 12 виджетов), толщной 10 и длиной, приблизительно равной 50 пикселов | Загрузка: 58; Инициализация, отрисовка: 53 | Загрузка: 30; Инициализация, отрисовка: 8 | Время и до и после оптимизации значительно меньше в сравнении с одной линией в одном виджете (всего 160 линий) за счёт уменьшения количества виджетов |
240 четырехугольников с заливкой, шириной примерно 15 и длиной примерно 50 пикселов и с толщиной линии в 1 пиксел по 20 в каждом виджете (всего 12 виджетов) | Загрузка: 95; Инициализация, отрисовка: 272 | Загрузка: 42; Инициализация, отрисовка: 93 |
20.06.2013:
Основание: При работе с платой MOPSlcdLX внимание привлекла большая нагрузка задачи формирования полноразмерных трендов. Как в последствии выяснилось большую нагрузку создаёт формирование изображение PNG в библиотеке GD2, а точнее процедура упаковки ZLib. Предметный анализ производительности формирования изображений различных форматов на указанной плате сведён в таблице ниже:
Формат | Построение тренда (мс) | Преобразование в формат. изображения (мс) | Размер изображения (байт) |
PNG (0) | 200 | 800 | 1700365 |
PNG (1) | 200 | 690 | 24000 |
PNG (-1) | 200 | 1000 | 14800 |
PNG (9) | 200 | 1900 | 13354 |
JPEG (-1) | 200 | 180 | 53157 |
GIF | 200 | 380 | 14300 |
Выводы: Как можно видеть из таблицы выше операция формирования PNG в целом ресурсоёмка и наиболее оптимальным уровнем сжатия является "1". В тоже время формирование JPEG и GIF заметно быстрее, однако эти форматы изображений имеют рядя критических недостатков, а именно: JPEG не имеет альфа канала (прозрачности), а GIF ограничен количеством цветов, что в обоих случаях приводит к потере прозрачности и искажению сглаживания текста и изображения в целом.
Мероприятия: Добавлена возможность выбора уровня сжатия для формируемых изображений PNG, а значение по умолчанию установлено в оптимальный уровень "1". Запланирована реализация формирования примитива "Диаграмма" на стороне браузера в тегах "svg" или "canvas".