LimeReport Forum
General Category | Основное => Discussion | Обсуждение => Topic started by: ldir on August 16, 2016, 10:14:18 pm
-
Здравствуйте!
Обратил внимание, что функция loadFromFile() ощутимо долго загружает файл. Вопрос, можно ли сразу загрузить все необходимые документы и выбрать необходимый из ОЗУ? Ну, или как-то повлиять на скорость загрузки отчета???
-
Если ты обратил внимание, файл шаблона - это XML файл, причем немаленький, который надо распарсить.
Ты можешь при инициализации программы загрузить содержимое файла "as is" в QByteArray и в дальнейшем использовать loadFromByteArray.
Но только всеже основная работа состоит именно в построении отчета, а не в чтении файла с диска.
-
ldir, Можно в меня кинуть пример долго открывающегося отчета ?
-
Arin Alex, https://yadi.sk/d/-Y8r7BaeuKLVr
На C2D 3.0:
время загрузки функцией loadFromFlie() ~ 1719, временя рендеринга ~ 365
В принципе я не уверен, что правильно создал документ (отчет). Если так, то пожалуйста поправьте.
P.S. только начинаю осваивать LimeReport и отчетники в целом.
-
чета у мну секунды 3-4 рендерит, нормально
-
ldir, Спасибо гляну.
-
Я собственно почему и спрашивал про форматирование текста в соответствующей теме. Я думаю что долгое время загрузки (хотя, наверное, было бы правильнее сказать время парсинга) связано с большим количеством элементов отчета. Вот я и пытался их уменьшить - объединить несколько в один. А так как междустрочный интервал я отрегулировать не смог, пришлось пользоваться большим количеством TextItem'ов.
-
Межстрочный???
Так есть свойство lineSpacing же у техтИтема
-
Subst, Это в 1.4 есть а 1.3 нет
ldir, Можете 1.4 попробовать :)
-
ну я уже собрал 1.4, валяется сборка 1.3 на всякий случай, но использовать пробую уже 1.4. Вроде старые отчеты отрабатывает нормально.
Всем бы советовал потихоньку переползать на 1.4. Больше юзают, быстрее косяки выявляться будут :)
-
Бегло глянул на 1.4
Действительно, с lineSpacing все стало проще.
Но, скорость рендеринга в этой версии раза в 3-5 ниже(((.
-
Странно. Потестирую. А вы сравниваете версии собраные в релизном варианте? А то релиз и дебаг сильно по скорости отличаются.
-
Arin Alex, если не ошибаюсь, обе были в дебаг версии. Только что проверил 1.3.11 (взял с гитхаба) и 1.4 (оттуда же).
Результаты с рабочего компа P4@3.0 with HyperThreading:
1.3.11 (отладка) ~ 1484
1.4 (релиз) ~ 2140
В 1.3.11 даже отладка быстрее релиза((
Хотя это и не критично.
Ладно, не буду морочить вам голову. Все-равно до печати документов дело не скоро дойдет.
-
ldir,
У меня крамольная мысль закралась. Попробуй отцепить итемы, которые к БД обращаются. Пустыми их сделать.
Что получится?
-
Subst, сделал. Скорость увеличилась примерно раза в 2.
Результаты тестирования (1.4 - релиз)
Пустышка:
Загрузка ~ 1294, рендеринг ~ 1110;
Оригинал:
Загрузка ~ 6625, рендеринг ~ 1969;
Хотя, повторюсь, скорость рендеринга для меня не критична. По сравнению с ней загрузка выполняется очень долго.
-
ldir,
Ладно, не буду морочить вам голову.
Наоборот, очень полезная информация. Я на своих дурмашинах просто не замечаю, что есть проблемы со скоростью.
А скажите пожалуйста, есть ли разница в загрузке и рендере между 1.3 и 1.4 для демо отчетов ?
-
Arin Alex, поигрался с демо примерами. Особой разницы в скорости загрузки и рендеринга межу 1.3 и 1.4 нет (они приблизительно равны). А вот тот файл что я скидывал - разница есть:
1.3 (релиз)
Загрузка:3132
render time = 1156
1.4 (релиз)
Загрузка:4041
render time = 1984
Данные приблизительные, т.к. при каждом запуске цифры немного отличаются
-
ldir, А тестовые данные можно в меня кинуть? Можно в личку заслать.
-
Arin Alex, блин, чего-то я запутался в версиях. Собирал 1.3 и 1.4 (оба с гита), так в них LRDesigner.exe одинаковые! Так должно быть?? Чуть позже дома все заново соберу и скину результаты.
-
Видимо таки проблемы с соединением с БД... я об этом и подумал
-
Subst, скинул Алексу результаты тестов. Смысл таков. Что в версии 1.4 один большой TextItem (в котором задан междустрочный интервал) загружается дольше чем много маленьких.
-
ну вот сам посмотри
Пустышка:
Загрузка ~ 1294, рендеринг ~ 1110;
Оригинал:
Загрузка ~ 6625, рендеринг ~ 1969;
Проблема, явно, с доступом к данным. Попробуй отсюда танцевать, посмотри индексы и т.д.
Т.е. что поисходит, на мой взгляд: При загрузке открываются источники данных и тут идет конкретный затык.