LimeReport Forum

General Category | Основное => Discussion | Обсуждение => Topic started by: ldir on August 16, 2016, 10:14:18 PM

Title: loadFromFile() долго загружает файл???
Post by: ldir on August 16, 2016, 10:14:18 PM
Здравствуйте!
Обратил внимание, что функция loadFromFile() ощутимо долго загружает файл. Вопрос, можно ли сразу загрузить все необходимые документы и выбрать необходимый из ОЗУ? Ну, или как-то повлиять на скорость загрузки отчета???
Title: Re: loadFromFile() долго загружает файл???
Post by: Subst on August 17, 2016, 04:44:30 AM
Если ты обратил внимание, файл шаблона - это XML файл, причем немаленький, который надо распарсить.
Ты можешь при инициализации программы загрузить содержимое файла "as is" в QByteArray и в дальнейшем использовать loadFromByteArray.

Но только всеже основная работа состоит именно в построении отчета, а не в чтении файла с диска.
Title: Re: loadFromFile() долго загружает файл???
Post by: Arin Alex on August 18, 2016, 08:06:06 PM
ldir, Можно в меня кинуть пример долго открывающегося отчета ?
Title: Re: loadFromFile() долго загружает файл???
Post by: ldir on August 18, 2016, 08:25:06 PM
Arin Alex, https://yadi.sk/d/-Y8r7BaeuKLVr
На C2D 3.0:
время загрузки функцией loadFromFlie() ~ 1719, временя рендеринга ~ 365

В принципе я не уверен, что правильно создал документ (отчет). Если так, то пожалуйста поправьте.
P.S. только начинаю осваивать LimeReport и отчетники в целом.
Title: Re: loadFromFile() долго загружает файл???
Post by: Subst on August 18, 2016, 08:34:15 PM
чета у мну секунды 3-4 рендерит, нормально
Title: Re: loadFromFile() долго загружает файл???
Post by: Arin Alex on August 18, 2016, 08:45:36 PM
ldir, Спасибо гляну.
Title: Re: loadFromFile() долго загружает файл???
Post by: ldir on August 18, 2016, 08:55:39 PM
Я собственно почему и спрашивал про форматирование текста в соответствующей теме. Я думаю что долгое время загрузки (хотя, наверное, было бы правильнее сказать время парсинга) связано с большим количеством элементов отчета. Вот я и пытался их уменьшить - объединить несколько в один. А так как междустрочный интервал я отрегулировать не смог, пришлось пользоваться большим количеством TextItem'ов.
Title: Re: loadFromFile() долго загружает файл???
Post by: Subst on August 18, 2016, 08:59:15 PM
Межстрочный???
Так есть свойство lineSpacing же у техтИтема
Title: Re: loadFromFile() долго загружает файл???
Post by: Arin Alex on August 18, 2016, 09:12:22 PM
Subst, Это в 1.4 есть а 1.3 нет
ldir, Можете 1.4 попробовать :) 
Title: Re: loadFromFile() долго загружает файл???
Post by: Subst on August 18, 2016, 09:15:12 PM
ну я уже собрал 1.4, валяется сборка 1.3 на всякий случай, но использовать пробую уже 1.4. Вроде старые отчеты отрабатывает нормально.
Всем бы советовал потихоньку переползать на 1.4. Больше юзают, быстрее косяки выявляться будут :)
Title: Re: loadFromFile() долго загружает файл???
Post by: ldir on August 18, 2016, 11:04:49 PM
Бегло глянул на 1.4
Действительно, с lineSpacing все стало проще.
Но, скорость рендеринга в этой версии раза в 3-5 ниже(((.
Title: Re: loadFromFile() долго загружает файл???
Post by: Arin Alex on August 18, 2016, 11:32:42 PM
Странно. Потестирую. А вы сравниваете версии собраные в релизном варианте? А то релиз и дебаг сильно по скорости отличаются.
Title: Re: loadFromFile() долго загружает файл???
Post by: ldir on August 19, 2016, 08:52:14 AM
Arin Alex, если не ошибаюсь, обе были в дебаг версии. Только что проверил 1.3.11 (взял с гитхаба) и 1.4 (оттуда же).
Результаты с рабочего компа P4@3.0 with HyperThreading:
1.3.11 (отладка) ~ 1484
1.4 (релиз) ~ 2140
В 1.3.11 даже отладка быстрее релиза((
Хотя это и не критично.
Ладно, не буду морочить вам голову. Все-равно до печати документов дело не скоро дойдет.
Title: Re: loadFromFile() долго загружает файл???
Post by: Subst on August 19, 2016, 09:14:39 AM
ldir,
У меня крамольная мысль закралась. Попробуй отцепить итемы, которые к БД обращаются. Пустыми их сделать.
Что получится?
Title: Re: loadFromFile() долго загружает файл???
Post by: ldir on August 19, 2016, 09:58:24 AM
Subst, сделал. Скорость увеличилась примерно раза в 2.
Результаты тестирования (1.4 - релиз)
Пустышка:
Загрузка ~ 1294, рендеринг ~ 1110;
Оригинал:
Загрузка ~ 6625, рендеринг ~ 1969;

Хотя, повторюсь, скорость рендеринга для меня не критична. По сравнению с ней загрузка выполняется очень долго.
Title: Re: loadFromFile() долго загружает файл???
Post by: Arin Alex on August 19, 2016, 11:27:42 AM
ldir,
Quote
Ладно, не буду морочить вам голову.

Наоборот, очень полезная информация. Я на своих дурмашинах просто не замечаю, что есть проблемы со скоростью.
А скажите пожалуйста, есть ли разница в загрузке и рендере между 1.3 и 1.4 для демо отчетов ?
Title: Re: loadFromFile() долго загружает файл???
Post by: ldir on August 19, 2016, 01:58:15 PM
Arin Alex,  поигрался с демо примерами. Особой разницы в скорости загрузки и рендеринга межу 1.3 и 1.4 нет (они приблизительно равны). А вот тот файл что я скидывал - разница есть:
1.3 (релиз)
Загрузка:3132
render time = 1156

1.4 (релиз)
Загрузка:4041
render time = 1984

Данные приблизительные, т.к. при каждом запуске цифры немного отличаются
Title: Re: loadFromFile() долго загружает файл???
Post by: Arin Alex on August 19, 2016, 02:41:12 PM
ldir, А тестовые данные можно в меня кинуть? Можно в личку заслать.
Title: Re: loadFromFile() долго загружает файл???
Post by: ldir on August 19, 2016, 02:55:20 PM
Arin Alex, блин, чего-то я запутался в версиях. Собирал 1.3 и 1.4 (оба с гита), так в них LRDesigner.exe одинаковые! Так должно быть?? Чуть позже дома все заново соберу и скину результаты.
Title: Re: loadFromFile() долго загружает файл???
Post by: Subst on August 19, 2016, 05:02:01 PM
Видимо таки проблемы с соединением с БД... я об этом и подумал
Title: Re: loadFromFile() долго загружает файл???
Post by: ldir on August 20, 2016, 03:14:27 PM
Subst, скинул Алексу результаты тестов. Смысл таков. Что в версии 1.4 один большой TextItem (в котором задан междустрочный интервал) загружается дольше чем много маленьких.
Title: Re: loadFromFile() долго загружает файл???
Post by: Subst on September 04, 2016, 06:58:04 PM
ну вот сам посмотри

Пустышка:
Загрузка ~ 1294, рендеринг ~ 1110;
Оригинал:
Загрузка ~ 6625, рендеринг ~ 1969;

Проблема, явно, с доступом к данным. Попробуй отсюда танцевать, посмотри индексы и т.д.
Т.е. что поисходит, на мой взгляд: При загрузке открываются источники данных и тут идет конкретный затык.