И снова большие отчеты
Добавлено: 12 июн 2013, 18:27
Здравствуйте!
В процессе разработки и формирования больших отчетов (1000 страниц и более) выяснилось, что есть проблемы с размером готового отчета (файл MDC). Соответственно, возникают банальные проблемы с нехваткой памяти, как при генерации отчета, так и при выполнении экспорта в сжатый или зашифрованный форматы.
Например, у меня отчет размером в 300 Мб (MDC) не удается сохранить в сжатом виде из-за ошибки "Exception of type 'System.OutOfMemoryException' was thrown."
Я обратил внимание на несколько моментов в структуре готового отчета:
1. Названия некоторых объектов слишком длинные и значительно увеличивают размер.
Например, пришлось отказаться от таблиц, и только на этом я добился уменьшения размера почти в 2 раза.
Название объекта для ячейки таблицы значительно длиннее названия текстового элемента:
type="Text"
type="Stimulsoft.Report.Components.Table.StiTableCell"
2. Некоторые атрибуты элементов отчета могли бы использовать значения по умолчанию и не сохраняться в готовом отчете.
Например: isSer="true" или "Transparent"
При этом в моем готовом отчете более миллиона элементов и у всех одинаковые значения isSer="true", "Transparent". Это не один мегабайт лишних данных.
3. Использование стилей (на которые я очень надеялся) не приводит к уменьшению размеров готового отчета, так как параметры стиля повторяются у каждого элемента.
В результате вырисовываются следующие вопросы/предложения по усовершенствованию и оптимизации формата готового отчета:
1. Можно ли ввести короткие названия (алиасы) для всех типов элементов отчета?
2. Можно ли использовать значения по умолчанию для атрибутов без сохранения в готовом отчете?
3. Можно ли не дублировать в каждом элементе параметры стиля?
Спасибо
В процессе разработки и формирования больших отчетов (1000 страниц и более) выяснилось, что есть проблемы с размером готового отчета (файл MDC). Соответственно, возникают банальные проблемы с нехваткой памяти, как при генерации отчета, так и при выполнении экспорта в сжатый или зашифрованный форматы.
Например, у меня отчет размером в 300 Мб (MDC) не удается сохранить в сжатом виде из-за ошибки "Exception of type 'System.OutOfMemoryException' was thrown."
Я обратил внимание на несколько моментов в структуре готового отчета:
1. Названия некоторых объектов слишком длинные и значительно увеличивают размер.
Например, пришлось отказаться от таблиц, и только на этом я добился уменьшения размера почти в 2 раза.
Название объекта для ячейки таблицы значительно длиннее названия текстового элемента:
type="Text"
type="Stimulsoft.Report.Components.Table.StiTableCell"
2. Некоторые атрибуты элементов отчета могли бы использовать значения по умолчанию и не сохраняться в готовом отчете.
Например: isSer="true" или "Transparent"
При этом в моем готовом отчете более миллиона элементов и у всех одинаковые значения isSer="true", "Transparent". Это не один мегабайт лишних данных.
3. Использование стилей (на которые я очень надеялся) не приводит к уменьшению размеров готового отчета, так как параметры стиля повторяются у каждого элемента.
В результате вырисовываются следующие вопросы/предложения по усовершенствованию и оптимизации формата готового отчета:
1. Можно ли ввести короткие названия (алиасы) для всех типов элементов отчета?
2. Можно ли использовать значения по умолчанию для атрибутов без сохранения в готовом отчете?
3. Можно ли не дублировать в каждом элементе параметры стиля?
Спасибо