Alex2013 писал(а):Запустил ...
1 Виден немалый труд
2 С мышкой все в порядке ( но заторможенная реакция действительно есть )
3 tpg не загружаются и нет полной схемы для примера ( создавать новую сходу не получилось )
Что лучше положить в архив готовую схему или записать ролик, как она создаётся?
Можете глянуть мой старый проект
(мини редактор форм и простой векторной графики для веб приложений )
Что там может быть идейно интересно :
1 Скриптовая генерация элементов.
(на скриптах сделано все что можно и часть того что нельзя
этой в сборке их 149 + 41-но описание переменных )
2 Встроенная среда разработки скриптов.
3 Довольно бодрая попытка ускорить прорисовку умеренно сложных векторных изображений.
(В программе использовался "чистий канвас" да еще и по умолчанию медленные скрипты )
Аналогично - голый канвас и скрипты.
Если заглядывали внутрь tpg, то там сплошняком такое
- Код: Выделить всё
#case
SetColor $004A4A4A
SetBGColor $00800028
SetWidth 2
Rect 0,0,0.48795,-0.04445
#PortGroups
Rect 0.02667,-0.00889,0.15113,-0.03556
Rect 0.155575,-0.00889,0.280035,-0.03556
Rect 0.28448,-0.00889,0.40894,-0.03556
#Ports
SetColor clBlack
SetBGColor $00525252
DrawTemplate part_group6p_QSFP 0.044456,-0.011114,0,1
DrawTemplate part_group6p_QSFP 0.172267,-0.011114,0,1
DrawTemplate part_group6p_QSFP 0.300071,-0.011114,0,1
На экран оно вываливается практически как есть. Т.е. отрисовка каждого кадра это интерпретация всей программы.
Что можно - кешируется в уже распарсенном состоянии, но зум и скролл в любом случае заставят всё пересчитать.
Может поэтому рендер кажется неотзывчивым?
Вот на этом скриншоте в углу статистика гласит, что на экране 28000 примитивов.
Это значит, что каждый честно перерисованный кадр интерпретировалось 28000+ строк текста.
Может быть тот тормоз мышки которые вы ощутили - это попытка понять - человек уже закончил крутить колёсико зума и пора перерисовывать весь кадр или сейчас ещё придут сообщения и масштаб изменится, и сейчас тратить 0.1-0.5 сек на пересчёт всей картинки - не надо?
http://chaoswarehouse.org/images/images ... l/demo.PNGИ на такую организацию данных есть причина - дело в том, что оператор программы - не главный изменятель отображаемой сцены.
Информация для отображения может и должная поступать в программу "сбоку". Всякие системы диспетчерского управления и промавтоматики, которые отображают обстановки тоже имеют простенький редактор. Это вот он.