Снижаем нагрузку на процессор в Adobe AIR
Давайте будем честны. AIR часто ругают за непомерное потребление оперативной памяти и ресурсов процессора при использовании в режиме реального времени. Несмотря на то, что многие программы написанные на AIR грешат этим, данных проблем можно избежать. Существует несколько методик, позволяющих писать более "лёгкие" программы, которые превосходят другие написанные стандартными средствами в плане производительности.
Один из самых простых способов резко снизить нагрузку на ЦП основан на изменении частоты обновлений окна в секунду (Framerate Throttling). В этой статье я объясню метод с framerate'ами и покажу, как наилучшим образом использовать данный метод в Ваших программах.
Примечание: Чтобы использовать данный метод Вы должны иметь основные понятия об ActionScript'е и программировании на AIR.
Что же такое замедление framerate'ов (Framerate Throttling)?
Замедление framerate'ов — это техника, позволяющая контролировать framerate'ы программы, что, в свою очередь, позвляет увеличить её производительность при использовании (Active) и снизить количество потребляемые ресурсов когда она не используется (Idle). Как и в ActionScript 3, разрабочики имеют необычнайно полезную строчку кода в своём распоряжении —
Stage.frameRate
. Она позволяет изменять количество обновлений окна программы в секунду на лету. В предыдущих версиях ActionScript у нас были существенные проблемы с внедрением этой функции в интегрированную среду разработки (IDE). К счастью, времена изменились и теперь сложные программы не "висят", задерживаясь в памяти компьютера в фоновом режиме.Как же использовать Framerate Throttling?
Поскольку данная методика целиком основана на изменении параметров Stage.frameRate в сторону большей или меньшей величины, то настройка и улучшение производительности в целом зависят исключительно от самого разработчика. Впрочем, это так же зависит и от самой программы — некоторые из них позволяют использовать данную методику эффективнее, чем другие.
Примечание: производительность замерена на Macbook Pro 2.8 GHz Intel Core 2 Duo с использованием нижеизложенных примеров программного кода и выражена в процентах. Естественно, результаты будут варьироваться в зависимости от конфигурации машины.