Out Of Memory
Столкнулись с проблемой Out of memory
Отчет при ширине страницы 96 см.
и количестве страниц около 1000 отъедает ~2 gb. памяти
и падает с ошибкой Out of memory
Причем, если выпустить отчет с примерным количеством страниц 200, наблюдается скачек памяти до 400 Мб.
Ближе к концу построения память освобождается до 150 мб.
Если сохранить такой отчет (200 страниц) в fp3 - он весит всего ~4мб.
Можно что либо соптимизировать, чтобы можно было строить большие отчеты ?
Строится такой отчет довольно долго на хорошей машине (i5 4-ядра, оперативы 8gb)
Отчет при ширине страницы 96 см.
и количестве страниц около 1000 отъедает ~2 gb. памяти
и падает с ошибкой Out of memory
Причем, если выпустить отчет с примерным количеством страниц 200, наблюдается скачек памяти до 400 Мб.
Ближе к концу построения память освобождается до 150 мб.
Если сохранить такой отчет (200 страниц) в fp3 - он весит всего ~4мб.
Можно что либо соптимизировать, чтобы можно было строить большие отчеты ?
Строится такой отчет довольно долго на хорошей машине (i5 4-ядра, оперативы 8gb)
Комментарии
Не помогает:
frxReport.EngineOptions.MaxMemSize := 256;
frxReport.EngineOptions.UseFileCache:= true;
Может еще какое свойство ?
Как только пытаешься пролистать страницу, сразу увеличивается до 1,4 Гб.
Память раздувается, если сделать в свойствах страницы "Бесконечную высоту" и раскрасить все ячейки (разными цветами).
Если убрать раскраску, памяти отъедается в десятки раз меньше.
Если убрать свойство "Бесконечная высота", то хоть раскрашенный, хоть нет - с памятью все хорошо.
P.S.
Для чего это все нужно:
В отчете физически 2 страницы. Первая страница должна быть выгружена в excel на одной странице, вторая на второй.
В новом экспорте (Microsoft Excel 2007 XML), если не ставить свойство страницы "Бесконечная высота" и поставить галочку "Использовать стр. отчета",
то получается целая куча страниц (вкладок).
В старом экспорте (Документ Excel (XML)) выгружалось все корректно без свойства страницы "Бесконечная высота". (на двух страницах)