Заблуждения в оптимизации
Создал эту тему просто, чтобы поделиться опытом своих заблуждений)
Сам код для потимизации stage3d оставлю, меня заинтересовало то, что он рекомендовал избегать использования for each циклов, и заменять их на for var i:int ... Но мои замеры показали, что разница в скорости между этими циклами составляет почти 3 раза! Причем совсем не в пользу вторых. Тест содержит ошибку, ответ здесь Вот мой тест на 10 миллионах объектов Код AS3:
Вот еще пример Код AS3:
Код AS3:
|
Цитата:
|
Результаты в DEBUG и RELEASE версиях плеера могут сильно отличаться. Судя по трейсам использовался именно дебажный вариант
|
Да, и ещё версию тестов с старым компилятором бы.
|
Цитата:
Вот цитата Дэниэла Цитата:
Цитата:
Сделал релизный тест, и мои изначальные ожидания оправдались с лихвой. Вот для релиза: Код AS3:
Код AS3:
Никогда не думал, что придется настолько заморачиваться с оптимизацией приложений) |
Цитата:
А вот с ceil при приведений Number к int мы можем потерять информацию, если число будет за диапазоном int. Мы так-же потеряем Infinity и NaN в обоих случаях. И ещё, неужели весь остальной код в игре уже так идеально оптимизирован, что пришлось взяться за нативные реализаций? |
Цитата:
Цитата:
|
Если получиться ускорить ceil, round с поддержкой Number, ты обязательно напиши.
Цитата:
Ещё вот о чём я думал, так как класс Math. нативный, он может быть по разному реализован на разных архитектурах процессоров. Где-то быстрее, где то медленнее. В то время как собственная, кастомная реализация везде будет одинаковой по скорости. Я к тому, что было бы здорово, после написания теста, прогнать его на разных устройствах, в том числе web player конечно! ) |
Цитата:
|
Вычисление целой и дробной части не на интах будет примерно таким
Код AS3:
|
Часовой пояс GMT +4, время: 17:34. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.