медленно сохраняется документ ?

Обсуждение Stimulsoft Reports.WPF
Ответить
vvv40
Сообщения: 3
Зарегистрирован: 13 май 2016, 13:21

медленно сохраняется документ ?

Сообщение vvv40 »

Добрый день !
Заинтересовались вашим продуктом. Хотели бы использовать его для массовой печати документов. Но при тестировании выясняется, что время сохранения документа относительно большое, около 1 сек.
Можно ли использовать ваш продукт для массовой печати и что делаем не так ?
Спасибо !

Для тестирования подготовили DataSet (1 таблица, 10 колонок, 100 строк), шаблон отчета (просто таблица на лист) и формируем 100 одинаковых экземпляров документов в поток. Время выполнения около 100 секунд.
При сохранении в формат MDC ( SaveDocument(stream) ) время меньше, но тоже относительно большое - 40 сек.
Основное время уходит именно на сохранение документа (ExportDocument, SaveDocument)

StiReport report = new StiReport();
report.Load("MyTempl.mrt");
report.RegData("Categories", MyDataSet);
report.Dictionary.Synchronize();
MemoryStream stream = new MemoryStream();

for (int i = 0; i < 100; i++)
{
report.RenderWithWpf();
report.ExportDocument(StiExportFormat.Pdf, stream);
}
Aleksey
Сообщения: 2787
Зарегистрирован: 22 апр 2010, 06:57

Re: медленно сохраняется документ ?

Сообщение Aleksey »

Здравствуйте,

Некоторое время тратится на компиляцию, в данном случае можно либо использовать скомпилированный отчет, либо режим интерпретации.
А так же, не могли бы прислать ваш простой тестовый проект, который показывает проблему для анализа.

Спасибо.
vvv40
Сообщения: 3
Зарегистрирован: 13 май 2016, 13:21

Re: медленно сохраняется документ ?

Сообщение vvv40 »

тестовый проект
Вложения
TestSS.rar
тестовый проект
(10.03 КБ) 187 скачиваний
Aleksey
Сообщения: 2787
Зарегистрирован: 22 апр 2010, 06:57

Re: медленно сохраняется документ ?

Сообщение Aleksey »

Здравствуйте,

Спасибо за пример. Мы проанализируем его и дадим вам знать о результатах в данном топике.

Спасибо.
Ivan
Сообщения: 641
Зарегистрирован: 10 авг 2006, 05:40
Откуда: Stimulsoft Office

Re: медленно сохраняется документ ?

Сообщение Ivan »

Здравствуйте.

Мы проанализировали ваш проект.
На данный момент почти половину времени занимает отображение процесса построения отчета (ProgressBar), т.к. в WPF работа с окнами всегда довольно медленна.
Для ускорения вам необходимо отключить отображение ProgressBar, для этого надо вызывать метод Render() с параметром "false":

Код: Выделить всё

report.RenderWithWpf(false);
В остальном всё строится довольно быстро.
Более конкретные рекомендации мы сможем дать, если вы более подробно опишите вашу задачу:
- какая структура и содержимое ваших отчётов,
- что вы потом будете делать с построенными отчетами.

Спасибо.
vvv40
Сообщения: 3
Зарегистрирован: 13 май 2016, 13:21

Re: медленно сохраняется документ ?

Сообщение vvv40 »

Спасибо за совет !
Формирование и экспорт ускорились в 3 раза. Больше ускорить, наверное, не получится.
Планируем использовать для формирования платежных документов по Юр и Физ.лицам.
Документы будем хранить в базе (MSSQL)
Aleksey
Сообщения: 2787
Зарегистрирован: 22 апр 2010, 06:57

Re: медленно сохраняется документ ?

Сообщение Aleksey »

Здравствуйте,

По следующим ссылкам вы можете найти статьи по оптимизации самих отчетов, что так же позволяет оптимизировать скорость построения самих отчетов:
https://www.stimulsoft.com/ru/blog/arti ... ng-reports
https://www.stimulsoft.com/ru/blog/arti ... rts-part-2
https://www.stimulsoft.com/ru/blog/arti ... rts-part-3

Спасибо.
Ответить