Оптимизация в  ActionScript
Оптимизация кода <ul><li>Строгая типизация  ( особенно для массивов данных ) </li></ul><ul><li>Фиксация структуры данных т...
<ul><li>Вылет 20-30 гильз в секунду в разных направлениях: </li></ul><ul><li>vSpeed = Vector.<int> ([2.3, 1, 3, 1.5, 0.5])...
Минимизация обращений <ul><li>Пример:  </li></ul><ul><li>var i:int =  0 ; </li></ul><ul><li>while(i < vObjects.length) </l...
Оптимизация отрисовки <ul><li>cacheAsBitmap </li></ul><ul><li>blitting  </li></ul><ul><li>степень двойки </li></ul>
Blitting <ul><li>Объект  MovieClip  превращается в массив битмап которые копируются на игровой экран при помощи метода  co...
Рендеринг 300 000 квадратных битмап  Зависимость времени отрисовки (миллисекунды) от стороны битмапы (пиксели)
Рендеринг 300 000 квадратных битмап  Зависимость времени копирования одного пикселя (микросекунды) от стороны битмапы (пик...
Upcoming SlideShare
Loading in …5
×

Оптимизация производительности ActionScript

1,405 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,405
On SlideShare
0
From Embeds
0
Number of Embeds
198
Actions
Shares
0
Downloads
3
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Оптимизация производительности ActionScript

  1. 1. Оптимизация в ActionScript
  2. 2. Оптимизация кода <ul><li>Строгая типизация ( особенно для массивов данных ) </li></ul><ul><li>Фиксация структуры данных типа Vector </li></ul><ul><li>Сведение всего процесса в один таймер </li></ul><ul><li>Кэширование математических операций </li></ul><ul><li>Минимизация Math.random() </li></ul><ul><li>Пулирование объектов </li></ul><ul><li>Уборка мусора </li></ul><ul><li>Оптимизация вызовов функций и свойств </li></ul><ul><li>Оптимизация математических функций, битшифтинг </li></ul>
  3. 3. <ul><li>Вылет 20-30 гильз в секунду в разных направлениях: </li></ul><ul><li>vSpeed = Vector.<int> ([2.3, 1, 3, 1.5, 0.5]); </li></ul><ul><li>vAngle = Vector.<int> ([20, -10, 34, 6, -30, -14, -20, 40]); </li></ul><ul><li>vFlyTime = Vector.<int> ([21, 53, 30, 42, 15, 27, 47]); </li></ul>Минимизация Math.random()
  4. 4. Минимизация обращений <ul><li>Пример: </li></ul><ul><li>var i:int = 0 ; </li></ul><ul><li>while(i < vObjects.length) </li></ul><ul><li>{ </li></ul><ul><li>vObjects[i].draw(); </li></ul><ul><li>i++; </li></ul><ul><li>} </li></ul><ul><li>var i:int = vObjects.length; </li></ul><ul><li>while(--i > -1) </li></ul><ul><li>{ </li></ul><ul><li>vObjects[i].draw(); </li></ul><ul><li>} </li></ul>
  5. 5. Оптимизация отрисовки <ul><li>cacheAsBitmap </li></ul><ul><li>blitting </li></ul><ul><li>степень двойки </li></ul>
  6. 6. Blitting <ul><li>Объект MovieClip превращается в массив битмап которые копируются на игровой экран при помощи метода copyPixels , что значительно экономит ресурсы, если объект повторяется множество раз </li></ul>
  7. 7. Рендеринг 300 000 квадратных битмап Зависимость времени отрисовки (миллисекунды) от стороны битмапы (пиксели)
  8. 8. Рендеринг 300 000 квадратных битмап Зависимость времени копирования одного пикселя (микросекунды) от стороны битмапы (пиксели)

×