Советы по оптимизации отчетов: различия между версиями
Sidminik (обсуждение | вклад) |
Sidminik (обсуждение | вклад) Нет описания правки |
||
| (не показана 1 промежуточная версия этого же участника) | |||
| Строка 1: | Строка 1: | ||
Большие и | <div style="background-color: #fff0f3; border-left: 5px solid #dc3545; padding: 15px; margin: 10px 0; color: #a71d2a;"> | ||
<b>Внимание!</b><br/> | |||
Это описание - для старой версии дизайнера документов (<b><i>AR</i></b>).<br/> | |||
В ближайшее время страница будет обновлена на описание настройки в <b><i>FastReports</i></b>. | |||
</div> | |||
Большие и/или сложные отчеты (100+ страниц или более 10 минут генерации) требуют оптимизации состава и настроек перед использованием на практике, иначе, отчет не сделается за приемлемое время. | |||
Для этого требуется комплексно оценить имеющиеся ресурсы и внести оптимизирующие правки. | Для этого требуется комплексно оценить имеющиеся ресурсы и внести оптимизирующие правки. | ||
Текущая версия от 08:55, 12 октября 2026
Внимание!
Это описание - для старой версии дизайнера документов (AR).
В ближайшее время страница будет обновлена на описание настройки в FastReports.
Большие и/или сложные отчеты (100+ страниц или более 10 минут генерации) требуют оптимизации состава и настроек перед использованием на практике, иначе, отчет не сделается за приемлемое время.
Для этого требуется комплексно оценить имеющиеся ресурсы и внести оптимизирующие правки.
Оптимизация памяти
| Компонент | Проблема | Решение |
|---|---|---|
| Изображения | Большое потребление памяти при экспорте в RTF/TIFF, особенно при повторении | Ограничьте большие изображения в форматах RTF/TIFF
Примечание: PDF/Excel/HTML хранят дубликаты один раз (лучше для памяти, медленнее обработка) |
| Подотчеты | Каждый экземпляр потребляет память (умножается в повторяющихся секциях) | Минимизируйте подотчеты в секциях Detail
Лучшая практика: Создавайте экземпляры в событии ReportStart (один раз) вместо события Format (для каждого экземпляра) |
| CacheToDisk | Большие отчеты потребляют чрезмерную память |
Важно: Используйте свойство CacheToDiskLocation для физического пути (избегайте ограничений размера IsolatedStorage)
|
| Колонтитулы | Подсчет страниц/итоги в заголовках задерживают рендеринг и снижают эффективность CacheToDisk |
|
Оптимизация скорости
| Фактор | Влияние | Рекомендация |
|---|---|---|
| Изображения | Обнаружение дубликатов замедляет обработку (даже при экономии памяти) | Минимизируйте повторяющиеся изображения на страницах |
| Колонтитулы | Заголовки с итогами/подсчетом страниц задерживают рендеринг | По возможности размещайте итоги в нижних колонтитулах |
| CacheToDisk | Значительно увеличивает время загрузки |
Установите в False для отчетов <100 страниц (может увеличить использование памяти) |
| SQL-запросы со звездой | «SELECT *…» возвращает ненужные данные | Используйте конкретные имена столбцов; консультируйтесь с администратором БД по оптимизации запросов |
| SQL-запросы сложной формы | Замедляется работа с БД | Консультируйтесь с администратором БД |
Оптимизация печати
| Элемент | Соображение | Действие |
|---|---|---|
| Виртуальный принтер | Различия в окружениях (веб-приложения) | Используйте виртуальный принтер, когда окружение генерации ≠ окружению просмотра/печати |
| Элементы линий | Не сплошной LineStyle увеличивает размер спула |
|