2011-01-31 10 views
7

Я использую библиотеку PurePDF с открытым исходным кодом в своем приложении Flex AIR. Проблема заключается в производительности:Как улучшить производительность purePDF?

Это требует 100% использования ЦП и слишком долго для создания PDF.

  • Я сделал некоторый анализ на нем и найти, что текст письма в формате PDF является дорого. Вот почему мне нужно знать, как я могу улучшить производительность. Существуют ли здесь какие-либо шрифты, для которых pdf ? Дешевле, или есть ли какие-либо настройки или советы, которые могут сделать этот процесс несколько лучше с точки зрения производительности?

  • во-вторых в случае изображений Изображение изображение генерация очень дорогое при записи этого элемента в PDF. Есть ли способ уменьшить обработку?

Между тем, я нашел способ, чтобы уменьшить обработку генерирования ImageElement путем изменения размера изображения с помощью гибкого трубопровода и затем передавая данные растрового изображения в небольшом изображении для элемента изображения. Он отлично работает, и я в значительной степени сократил время выполнения. У кого-нибудь еще есть идеи о других проблемах?

  • есть ли способ сказать PDF для работы в куски или разделить работу таким образом, что это может занять больше времени, чтобы закончить, но не будет блокировать GUI, а PDF генерируется?

Пожалуйста, помогите - заблаговременно.

ответ

0

способ оптимизации генерации PDF с purePDF является разделить работу создания компонента purePDF в кусках creati время от времени и основная проблема, устраненная путем изменения размера изображения

Поскольку изображения занимают время для встраивания в PDF, и время, затраченное на эти процессы, прямо пропорционально размеру изображения.

Итак, снимите размер изображения, а затем вставьте его в PDF (имейте в виду, если размеры уменьшены до больших масштабов, это значительно уменьшит качество изображения), продолжайте экспериментировать, чтобы получить оптимальный размер, чтобы иметь достаточно хорошее качество и скорость для генерации PDF.

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

0

есть ли способ сказать PDF для работы в куски или разделить работу таким образом, что это может занять больше времени, чтобы закончить, но не сделать GUI приостановлено до тех пор, PDF не генерируется

Вы могли бы сделать асинхронное поколение порождая нить ... лучший способ я придумал, чтобы сделать это вспышка с кодом:

import flash.utils.setTimeout; 
import flash.events.Event; 
import flash.events.EventDispatcher; 
... 
    setTimeout(function():void { 
     //TODO asynchronous schtuff 
     dispatchEvent(new Event(Event.COMPLETE)); 
    }, 0); 
+0

Как упоминалось в вопросе, что он принимает полный процессор, даже если я делаю это, как вы просите сделать, я никогда не смогу обработать purePDF, работая так же, как и все внутренние * – Badr

+0

Даже если у вас есть purePDF, это работает в отдельной теме, графический интерфейс остановлен? Даже если он принимает полный процессор, если он делает что-то вроде написания файла, то это поток должен быть остановлен изредка, так что ваш поток графического интерфейса может продолжаться ... – jswolf19

+0

в flex нет потоковой передачи, даже процесс asyc не распространяется нить flex также не нарезается резьбой. в конце каждая вещь заканчивается в рамках временной шкалы, так как во флеше причина flex находится в конце флеш-игры, запущенной в flash-плеере. – Badr

Смежные вопросы