BugTraq.Ru
Русский BugTraq
https://bugtraq.ru/lj/archive/2005/2507.0049.html

25.07.05 00:49
25.07.05 00:49 // оригинал
Иногда очень полезно работать на ноутбуке. После рабочей машины комплекс так тормозил на отрисовке полной лентрансгазовской схемы, что потратил несколько дней (ну или часов по вечерам :)), и таки нашел жутчайшее узкое место. Как обычно и бывает, невинная рюшка, пересечение труб/перемычек - несколько лет назад поиск этих пересечений был воткнут непосредственно в отрисовку. Дальше как обычно, работает и ладно, этот кусок кода давно забыт, на тестовых схемах летает, на моей рабочей машине полная схема подтормаживает, но терпимо (ну как же, 17 тыщ объектов, все с толпой свойств и взаимосвязей), а вот на машинках послабее простенькая подготовка буферной картинки в паузах между протаскиванием идет аж секунд пять (и это в релизе), ну и вся прочая работа тормозит (ну еще бы, на каждый чих все перемычки, попавшие на экран, должны пробежаться по всем объектам, причем для полного счастья используя старый алгоритм, перебирающий все объекты, не глядя на принадлежность цехам и т.п.).
Пришлось, понятное дело, воткнуть определение координат пересечений в редактирование, отъесть еще малость памяти на их хранение, а заодно малость помучаться, отслеживая все ситуации, в которых труба должна свистеть соседкам о пересчете (а главное, определять этих соседок без полного перебора). Зато теперь эта отрисовка летает даже в дебаг-версии, отпуск прошел не зря :)

 
обсудить  |  все отзывы (0)  |  обсудить в LJ [770]
назад «  » вперед

последние записи
отпускное // 08.07.24 23:02
синхронное // 13.06.24 18:07
автоматизаторское // 16.05.24 18:12
песчаное // 13.03.24 18:05
макоудаленное // 29.01.24 23:10
разнонедельное // 07.12.23 15:09
qtменюшное // 29.09.23 23:47
неестественноинтеллектуальное // 29.09.23 16:50
основательное // 18.09.23 00:15
отпускное // 06.08.23 00:26





  Copyright © 2001-2024 Dmitry Leonov Design: Vadim Derkach