Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.

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

1.450 visualizaciones

Publicado el

  • Sé el primero en comentar

  • Sé el primero en recomendar esto

Оптимизация производительности 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 квадратных битмап Зависимость времени копирования одного пикселя (микросекунды) от стороны битмапы (пиксели)

×