Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 16.03.2011, 21:40
expl вне форума Посмотреть профиль Отправить личное сообщение для expl Найти все сообщения от expl
  № 11  
Ответить с цитированием
expl

блогер
Регистрация: Feb 2006
Сообщений: 1,474
Записей в блоге: 3
Цитата:
инлайна нет...посмотрите в сторону haxe
Да, haXe в этом плане рулит - на AS3 иногда досада берёт - приходится в критических местах копипастить одно и тоже по 5 раз.

Но inline тоже имеет ограничения, например принципиально не получится заинлайнить метод, который перегружается в подклассах.

Цитата:
попробовать на нем написать статик класс для математики и скомпелить swc
Вызов функции из swc по-прежнему будет жрать ресурсы, по этой причине без мазы реализовывать на нём sqrt в стиле Quake и билдить в swc. На внутренних вызовах сэкономите - да.

Цитата:
Или макросы какие-нибудь?
Макросы в haXe тоже есть.

Но это haXe, а библиотеку вы ведь делаете для AS3 и вроде как не собираетесь её загонять в swc. Поэтому написание тестов производительности - и проверка какие подходы дают лучший результат - что тут ещё можно посоветовать.


Последний раз редактировалось expl; 16.03.2011 в 21:48.
Старый 16.03.2011, 22:23
semenyakinVS вне форума Посмотреть профиль Отправить личное сообщение для semenyakinVS Найти все сообщения от semenyakinVS
  № 12  
Ответить с цитированием
semenyakinVS

Регистрация: Mar 2010
Сообщений: 137
Спасибо за ответы!

expl, просветите, что значит:

Цитата:
по этой причине без мазы реализовывать на нём sqrt в стиле Quake и билдить в swc
Звучит сурово... Что такое стиль Quake?

Старый 16.03.2011, 22:46
expl вне форума Посмотреть профиль Отправить личное сообщение для expl Найти все сообщения от expl
  № 13  
Ответить с цитированием
expl

блогер
Регистрация: Feb 2006
Сообщений: 1,474
Записей в блоге: 3
http://ncannasse.fr/blog/fast_inverse_square_root
Разработчики Quake в свое время как-то додумались находить обратный корень со скоростью деления.
(в проекте, связанном с нахождением нормалей пытался использовать - действительно экономия весомая)
Только вот елсли запихнуть это в либу - вызов функции сожрет весь выигрыш

Ещё в тему:
http://xkcd.ru/664/


Последний раз редактировалось expl; 16.03.2011 в 22:53.
Старый 16.03.2011, 23:17
gloomyBrain вне форума Посмотреть профиль Отправить личное сообщение для gloomyBrain Найти все сообщения от gloomyBrain
  № 14  
Ответить с цитированием
gloomyBrain
 
Аватар для gloomyBrain

блогер
Регистрация: Mar 2008
Адрес: РФ, Санкт-Петербург
Сообщений: 2,272
Записей в блоге: 5
Отправить сообщение для gloomyBrain с помощью ICQ Отправить сообщение для gloomyBrain с помощью Skype™
Цитата:
Только вот елсли запихнуть это в либу - вызов функции сожрет весь выигрыш
Почему так? Какая разница, откуда кусок байткода попал в итоговый swf (из swc-шки или из .as файла)? Тем более, что вызов Math.sqrt() и MyMath.invSqrt() вряд ли будут чем-то принципиально отличаться.
Вот насчет inline - да, иногда реально хочется =)
__________________
...вселенская грусть

Старый 16.03.2011, 23:29
semenyakinVS вне форума Посмотреть профиль Отправить личное сообщение для semenyakinVS Найти все сообщения от semenyakinVS
  № 15  
Ответить с цитированием
semenyakinVS

Регистрация: Mar 2010
Сообщений: 137
Цитата:
http://ncannasse.fr/blog/fast_inverse_square_root
Разработчики Quake в свое время как-то додумались находить обратный корень со скоростью деления.
Как они это сделали?!
Как же я глуп.....

Цитата:
Ещё в тему:
http://xkcd.ru/664/
Всё правда!
Хорошо, что я могу идти по обеим ветвям.


Большое спасибо. Учту всё это.

Старый 16.03.2011, 23:49
expl вне форума Посмотреть профиль Отправить личное сообщение для expl Найти все сообщения от expl
  № 16  
Ответить с цитированием
expl

блогер
Регистрация: Feb 2006
Сообщений: 1,474
Записей в блоге: 3
Цитата:
Почему так? Какая разница, откуда кусок байткода попал в итоговый swf (из swc-шки или из .as файла)?
Разницы никакой - проблема в том, что нельзя заинлайнить кусок кода из swc с помощью AS3 - обратиться к либе можно только через вызов функции, на нём и будет проигрыш в производительности.
Не на 100% уверен конечно, может по сравнению с вызовом Math.sqrt будет и по-быстрее (тетсить надо), но точно не в 8 раз.

Старый 17.03.2011, 00:05
gloomyBrain вне форума Посмотреть профиль Отправить личное сообщение для gloomyBrain Найти все сообщения от gloomyBrain
  № 17  
Ответить с цитированием
gloomyBrain
 
Аватар для gloomyBrain

блогер
Регистрация: Mar 2008
Адрес: РФ, Санкт-Петербург
Сообщений: 2,272
Записей в блоге: 5
Отправить сообщение для gloomyBrain с помощью ICQ Отправить сообщение для gloomyBrain с помощью Skype™
В 8 раз разница из-за быстрого доступа к памяти, а инлайном там и не пахнет (если мы говорим про обратный квадратный корень). Что касается инлайна - весь код внутри swc будет с инлайнами. Но понятно, что если в AS3 нет inline - то и пути кроме copy-paste тоже нет.
__________________
...вселенская грусть

Старый 17.03.2011, 00:10
expl вне форума Посмотреть профиль Отправить личное сообщение для expl Найти все сообщения от expl
  № 18  
Ответить с цитированием
expl

блогер
Регистрация: Feb 2006
Сообщений: 1,474
Записей в блоге: 3
ды я про то что само обращение к оптимизированному через быстрый доступ к памяти коду через метод в данном случае затратно

Старый 17.03.2011, 00:23
gloomyBrain вне форума Посмотреть профиль Отправить личное сообщение для gloomyBrain Найти все сообщения от gloomyBrain
  № 19  
Ответить с цитированием
gloomyBrain
 
Аватар для gloomyBrain

блогер
Регистрация: Mar 2008
Адрес: РФ, Санкт-Петербург
Сообщений: 2,272
Записей в блоге: 5
Отправить сообщение для gloomyBrain с помощью ICQ Отправить сообщение для gloomyBrain с помощью Skype™
Не затратнее, чем обычный метод. Никто же не мешает что-то посложнее запихнуть в swc (тот же просчет нормалей по вершинам полигонов, или еще что-то в этом духе). Тем более, что проблем с совместимостью hx и as классов нет в принципе. Если уж хочется удобства и производительности - я бы всю математику писал на HaXe =)
__________________
...вселенская грусть

Создать новую тему Ответ Часовой пояс GMT +4, время: 01:19.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Теги
быстродействие , кэширование , стиль

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 01:19.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.