Не отображает все картинки корректно

Обсуждение Stimulsoft Reports.NET
HighAley
Сообщения: 1998
Зарегистрирован: 08 июн 2011, 11:36
Откуда: Stimulsoft Office

Re: Не отображает все картинки корректно

Сообщение HighAley »

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

Процитирую предыдущее сообщение:
Все картинки преобразуются в Bitmap и их размер возрастает на порядок.
Учитывая, что картинки на всё страницу, то они будет занимать достаточно много места.
Мы проведём анализ вашего проекта ещё раз. Возможно что-то получится оптимизировать. Но вы можете пока почитать следующую статью в базе знаний.

Спасибо.
Леонид
Сообщения: 329
Зарегистрирован: 23 июл 2009, 09:53
Откуда: Moscow

Re: Не отображает все картинки корректно

Сообщение Леонид »

Добрый день!

Мы уже это всё читали, найти было не сложно с помощью поисковика.

Процитирую здесь сообщение из вашего англоязычного форума:
The Out of Memory exception while rendering a report
Posted by Andrew Savin on 09 July 2010 08:25 PM
Please make the following steps:
1. Enable caching by setting the ReportCacheMode property of a report to On or Auto.
2. Increase the amount of RAM of your PC.
3. For Stimulsoft Reports.Web allocate much memory in the report server for the process.
4. Decrease the amount of records in a report and split it into several parts.
5. If bitmapped images are used in a report then descrease the image resolution or use vector images.
6. Decrease the amount of RichText objects because redundant information can be stored there.
7. If possible, do not use images inside of RichText objects because they are stored unpacked and, therefore has big size.
Все пункты понятны и нам очевидны, однако, конкретно 2-й пункт и 5-й мы реализовать не можем физически, т.к. память мы не можем увеличить на нескольких сотнях компьютерах (в 6 филиалах, в разных городах страны, в т.ч. и Казахстане), а 5-й мы так же не можем выполнить, т.к., если уменьшить разрешение jpeg'ов (они и так там по 200-300Кб), то их просто невозможно будет прочесть после печати.

И ещё, на своём компьютере произвёл тест - просто вывел тот очёт, что мы вам прислали (в тестовом примере) и нажал кнопку Печати, - в результате получил "красный крест" (видимо, ошибка GDI) и всё тот же SystemOutOfMemory (см. скриншот в приложении).
Вложения
Clipboard01.png
Clipboard01.png (211.1 КБ) 4226 просмотров
HighAley
Сообщения: 1998
Зарегистрирован: 08 июн 2011, 11:36
Откуда: Stimulsoft Office

Re: Не отображает все картинки корректно

Сообщение HighAley »

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

Попробуйте, пожалуйста, установить следующие статические опции:

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

StiOptions.Engine.ReportCache.AmountOfProcessedPagesForStartGCCollect = 2; // default 20
StiOptions.Engine.ReportCache.AmountOfQuickAccessPages = 5; // default 50
Спасибо.
Леонид
Сообщения: 329
Зарегистрирован: 23 июл 2009, 09:53
Откуда: Moscow

Re: Не отображает все картинки корректно

Сообщение Леонид »

Добрый день!

Попробовали на разных версиях и разные варианты, - работает! Проблема решена! :D

Резюме - работает, при двух условиях: :!:

1) В объекте отчёта должен быть установлен флаг ReportCacheMode == On;
2) До создания отчёта должен быть указан следующий код:

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

StiOptions.Engine.ReportCache.AmountOfProcessedPagesForStartGCCollect = 2; // default 20
StiOptions.Engine.ReportCache.AmountOfQuickAccessPages = 5; // default 50
Если хотя бы одно из этих двух условий не выполнить, то ни на одной, из протестированных нами версий, в т.ч. и на последней работать не будет, т.е. будет всё тот же Exception.SystemOutOfMemory.

Пробовали на этих версиях:

2012.1.1300.0
2013.3.1800.0
2014.2.2000.0

Результаты от версии к версии не отличаются.

Спасибо за помощь!
HighAley
Сообщения: 1998
Зарегистрирован: 08 июн 2011, 11:36
Откуда: Stimulsoft Office

Re: Не отображает все картинки корректно

Сообщение HighAley »

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

Эти свойства ограничивают количество страниц отчёта, хранимых в памяти.
Мы всегда рады вам помочь.

Спасибо.
Леонид
Сообщения: 329
Зарегистрирован: 23 июл 2009, 09:53
Откуда: Moscow

Re: Не отображает все картинки корректно

Сообщение Леонид »

Добрый день!

В последней версии отчёта на старых компьютерах стала возникать проблема SystemOutOfMemory при рендеринге примерно 213 страниц с картинками. Отчёт тот же самый, ничего не менялось, кроме версии отчётной системы, т.е. мы обновили .dll'ки с версии 2015.2.0.0 на версию 2016.1.7.0.

Примечательные факты (везде 4 Gb RAM было достаточно для выполнения отчёта):

1) Ошибка просходит именно на На Windows XP 32bit;
2) Ошибка НЕ возникает на Win7 32bit, Win7 64bit, Win8 64bit, Win 10 64 bit (на остальных не проверяли).

Это можно легко проверить в виртуальной машине.

Бывало и такое, что отчёт рендерился, но мог быть выведен на печать с тем же exception'ом.
HighAley
Сообщения: 1998
Зарегистрирован: 08 июн 2011, 11:36
Откуда: Stimulsoft Office

Re: Не отображает все картинки корректно

Сообщение HighAley »

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

Мы уже исправили небольшой баг, который был причиной подобной проблемы.
Попробуйте, пожалуйста, наш последний предрелизный билд.

Спасибо.
Леонид
Сообщения: 329
Зарегистрирован: 23 июл 2009, 09:53
Откуда: Moscow

Re: Не отображает все картинки корректно

Сообщение Леонид »

Добрый день!

Проверили последний предрелизный билд на старых машинах на складе с WinXP, - в принципе, можно сказать, что проблема почти устранена. Почти означает, что пользователи всё же иногда жалуются на то, что, скажем 127 страниц с jpeg-файлами не могут сгенерироваться, а более 200 генерируется нормально. Да, именно так, т.е. большее количество нормально рендерится. Однако, это не статистика, а скорее некое наблюдение.
В любом случае стало лучше. Спасибо!
HighAley
Сообщения: 1998
Зарегистрирован: 08 июн 2011, 11:36
Откуда: Stimulsoft Office

Re: Не отображает все картинки корректно

Сообщение HighAley »

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

Мы всегда рады вам помочь.
Пишите, если появиться ещё информация по проблеме, мы сделаем всё возможное, чтобы решить её.

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