SASGIS

Веб-картография и навигация


View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0001748SAS.ПланетаРефакторингpublic27-12-2012 19:3030-12-2021 08:58
Reportervdemidov 
Assigned To 
PrioritynormalSeveritymajorReproducibilityhave not tried
StatusconfirmedResolutionopen 
PlatformOSOS Version
Product Version110418 
Target Version26xxxxFixed in Version 
Summary0001748: Оптимизация слоя статусной строки
DescriptionРазделить строку статуса на отдельные участки и сделать их независимыми слоями. В каждом сделать умную перерисовку только в том случае если данные поменялись. Сейчас оно перерисовывается все целиком пару раз в секунду. Мало того что само по себе набегает время, так еще и вызывает перерисовку на экране тайлов карты попадающих под статусную строку.
Tagsперерисовка экрана, сетка, строка состояния, строка статуса
Attached Files

- Relationships
related to 0001749confirmed Данные высот вычислять и показывать асинхронно 

-  Notes
(0013132)
vdemidov (manager)
28-10-2013 07:56
edited on: 28-10-2013 08:00

Отрисовка строки статуса у меня занимает больше времени главного потока чем отрисовка всей карты.
PS: это при том, что у меня нет ни высот, ни часов в строке статуса.

(0015277)
vdemidov (manager)
18-02-2015 10:01

Мне все больше хочется перевести строку состояния на использование датчиков. То есть, каждый элемент строки состояния будет иметь фиксированную ширину и отображать состояние одного из объектов ISensor. Конечно придется добавить новые типы датчиков: Текущий зум, Координаты под указателем мышки, Разрешение в центре экрана, Высота в центре экрана, Текущее время для пояса в центре экрана, Количество скачанных тайлов, Длинна очереди на закачку, Имя тайла под указателем мышки
Плюс нужно будет сделать отдельные списки активных датчиков-панелей и датчиков-строки-статуса (редактируемые через конфиг), что бы не создавать сходу всю кучу датчиков для каждого типа. Это позволит добавлять безболезненно новые типы датчиков, а пользователям подбирать нужный набор в панелях или строке состояния.
(0018090)
zed (manager)
15-10-2017 17:29

Помимо того, что перерисовываются тайлы, также ещё перерисовываются и надписи у линейки или пути (при его редактировании). А рендеринг текста в этих случаях очень тяжеловесный и, в итоге, самой ресурсоёмкой операцией оказывается именно обновление надписей (занимает на порядок больше времени, чем обновление всей статусной строки). Другими словами, попытка редактирования пути с парой сотней точек, при включённых надписях (а они по дефолту включены), ставит систему на колени со 100% загрузкой ядра CPU.

>Мне все больше хочется перевести строку состояния на использование датчиков
Т.е. убрать эту полупрозрачную штуку, и сделать что-то на подобии стандартного TStatusBar? Не хотелось бы терять визуальную составляющую, т.к. мне лично нравится, как у нас сейчас выглядит эта строка. Но вот то, что она создаёт лишнюю нагрузку в простое, очень не нравится.
(0018091)
vdemidov (manager)
15-10-2017 18:20
edited on: 15-10-2017 18:25

Ну, проблемы при перерисовки надписей при редактировании линий это отдельная проблема и ее тоже нужно решать отдельно.

Про датчики. Визуальную составляющую оставить такой как есть. Поменять только механику. У датчиков уже сейчас есть разделение данных и их отображения. Есть отображение на панели, а нужно добавить отображение в строке статуса.

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

(0018092)
zed (manager)
15-10-2017 18:39

Т.е. изменение значения у датчика всё так же будет вызывать необходимость перерисовки пересекающихся тайлов и, что хуже всего, всех слоёв унаследованных от TMapLayerBasicNoBitmap, которые обновляются целиком, вне зависимости от того, какая часть родительской битмапки обновилась.
(0018093)
vdemidov (manager)
15-10-2017 19:20

Во-первых, это будут отдельные битмапка, а не одна большая на всю ширину. Во-вторых, обновляться они будут только при реальном изменении данных. В-третьих, проблемы медленного обновления других слоев это проблемы других слоев и их тоже нужно решать, но отдельно от этой.

- Users who viewed this issue
User List Anonymous (3200x), vdemidov (17x), ingener (1x), zed (6x), bk99 (1x), gma (1x)
Total Views 3226
Last View 21-11-2024 09:48

- Issue History
Date Modified Username Field Change
27-12-2012 19:30 vdemidov New Issue
27-12-2012 19:31 vdemidov Status new => confirmed
27-12-2012 20:49 vasketsov Note Added: 0010237
27-12-2012 20:50 vasketsov Note Edited: 0010237 View Revisions
28-12-2012 04:44 vdemidov Note Added: 0010239
28-12-2012 04:55 vdemidov Relationship added related to 0001749
28-10-2013 07:54 vdemidov Note Deleted: 0010237
28-10-2013 07:54 vdemidov Note Deleted: 0010239
28-10-2013 07:54 vdemidov Severity minor => major
28-10-2013 07:54 vdemidov Target Version 26xxxx => 24xxxx
28-10-2013 07:56 vdemidov Note Added: 0013132
28-10-2013 08:00 vdemidov Note Edited: 0013132 View Revisions
29-10-2013 08:51 vdemidov Tag Attached: перерисовка экрана
29-10-2013 08:51 vdemidov Tag Attached: сетка
29-10-2013 08:51 vdemidov Tag Attached: строка состояния
29-10-2013 08:51 vdemidov Tag Attached: строка статуса
04-11-2013 14:22 vdemidov Target Version 24xxxx => 140303
03-03-2014 08:47 vdemidov Target Version 140303 => 140404
19-03-2014 08:03 vdemidov Target Version 140404 => 141111
23-10-2014 09:07 vdemidov Target Version 141111 => 150915
21-01-2015 10:39 vdemidov Target Version 150915 => 151010
18-02-2015 10:01 vdemidov Note Added: 0015277
04-10-2015 15:28 vdemidov Target Version 151010 => 151111
06-11-2015 08:20 vdemidov Target Version 151111 => 191221
15-10-2017 17:29 zed Note Added: 0018090
15-10-2017 18:20 vdemidov Note Added: 0018091
15-10-2017 18:25 vdemidov Note Edited: 0018091 View Revisions
15-10-2017 18:39 zed Note Added: 0018092
15-10-2017 19:20 vdemidov Note Added: 0018093
23-07-2019 16:56 vdemidov Target Version 191221 => 211230
30-12-2021 08:58 zed Target Version 211230 => 26xxxx



Copyright © 2007 - 2024 SAS.Planet Team