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

Вернуться   Форум Flasher.ru > Flash > Серверные технологии и Flash

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 12.08.2005, 18:05
F_Flash вне форума Посмотреть профиль Отправить личное сообщение для F_Flash Найти все сообщения от F_Flash
  № 101  
Ответить с цитированием
F_Flash
 
Аватар для F_Flash

Регистрация: Feb 2002
Сообщений: 358
Отправить сообщение для F_Flash с помощью ICQ
Цитата:
Сообщение от KidsKilla
1) понял.

2) ты чего бредишь?
я те про переменные dx и dy говорил. а ты написал 2 АБСОЛЮТНО ОДИНАКОВЫХ кода и удивляешься, что время одинаковое.

Слушай, ты че плозхо соображеаешь что ли
"
если условие взято в скобки и все переменные просчитаны, то компилятор будет условие в скобках принимать за "1 переменную", не просчитывать "

т.е.
Вариант1.

dist=Math.sqrt((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1));

По твоему всказываению
это равносильно. созданию двух переменных
1.x2-x1
2.y2-y1


Вариант2

dist=Math.sqrt((x2-x1)*(x2-x1)+(x2-x1)*(x2-x1));

А в этом вариете только одной

(x2-x1)

т.е. по сути экономии в вычитание и созданию как ты говоришь виртуальной скобочной переменной. Но работаю одинаково , так то что ты там сказал это чушь полная.

Значение переменных не важно здесь.

Старый 12.08.2005, 18:08
E-mail вне форума Посмотреть профиль Отправить личное сообщение для E-mail Найти все сообщения от E-mail
  № 102  
Ответить с цитированием
E-mail
 
Аватар для E-mail

Регистрация: Jun 2005
Адрес: Питер
Сообщений: 498
Записей в блоге: 1
Я плохо знать как экшен скрипт создаёт переменные(какого они типа и как он разбирает их тип),но в с++ можно указать её конкретный тип(int,double,char)и сэкономить в некоторых случаях память(int-4 байта,double-8 байт),а также исключить запихивания в переменную типа int значение типа char...

Старый 12.08.2005, 18:11
F_Flash вне форума Посмотреть профиль Отправить личное сообщение для F_Flash Найти все сообщения от F_Flash
  № 103  
Ответить с цитированием
F_Flash
 
Аватар для F_Flash

Регистрация: Feb 2002
Сообщений: 358
Отправить сообщение для F_Flash с помощью ICQ
Цитата:
Сообщение от E-mail
Я плохо знать как экшен скрипт создаёт переменные(какого они типа и как он разбирает их тип),но в с++ можно указать её конкретный тип(int,double,char)и сэкономить в некоторых случаях память(int-4 байта,double-8 байт),а также исключить запихивания в переменную типа int значение типа char...
Верно, о чем и речь, что на создение переменной уходит очень много времени во флеше. Это один из явных примеров о медленности скрипта флеша .

Старый 12.08.2005, 18:16
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 104  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
Цитата:
Сообщение от KidsKilla
вот тут:
dx=x2-x1;
dy=y2-y1;
это я видел
я про разницу во времени.
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 12.08.2005, 18:19
E-mail вне форума Посмотреть профиль Отправить личное сообщение для E-mail Найти все сообщения от E-mail
  № 105  
Ответить с цитированием
E-mail
 
Аватар для E-mail

Регистрация: Jun 2005
Адрес: Питер
Сообщений: 498
Записей в блоге: 1
мне кажется(перекрестился),что флэш так тормозит оттого что он почти полностью автоматизирован,чтобы народ не парился...
в том же с++ чтобы создать массив содержащий разные типы нужно создать либо структуру либо класс,а флэш он ,наверно, делает это автоматически,даже когда в массиве данные одного типа(массив это к примеру)

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

Регистрация: Feb 2002
Сообщений: 358
Отправить сообщение для F_Flash с помощью ICQ
2iNils

Ну через геттаймер проверь.

s=getTimer();
for(i=1;i<=10000;i++){
x1=random(50000);
x2=random(50000);
y1=random(50000);
y2=random(50000);
dist=Math.sqrt((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1));
}
trace(getTimer()-s);

-------------------------------------------
s=getTimer();
for(i=1;i<=80000;i++){
x1=random(50000);
x2=random(50000);
y1=random(50000);
y2=random(50000);
dx=x2-x1;
dy=y2-y1;
dist=Math.sqrt((dx)*(dx)+(dy)*(dy));
}
trace(getTimer()-s);

Старый 12.08.2005, 18:23
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 107  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
Цитата:
Сообщение от F_Flash
Верно, о чем и речь, что на создение переменной уходит очень много времени во флеше. Это один из явных примеров о медленности скрипта флеша .
если пройтись дебагером то разница в коде будет такая:

1.
13 _push "dx"/*Dic[4]*/, "x2"/*Dic[2]*/
14 _getVariable
15 _push "x1"/*Dic[0]*/
16 _getVariable
17 _subtract
18 _setVariable
19 _push "dy"/*Dic[5]*/, "y2"/*Dic[3]*/
20 _getVariable
21 _push "y1"/*Dic[1]*/
22 _getVariable
23 _subtract
24 _setVariable
25 _push "dist"/*Dic[6]*/, "dx"/*Dic[4]*/
26 _getVariable
27 _push "dx"/*Dic[4]*/
28 _getVariable
29 _multiply
30 _push "dy"/*Dic[5]*/
31 _getVariable
32 _push "dy"/*Dic[5]*/
33 _getVariable

2.
13 _push "dist"/*Dic[4]*/, "x2"/*Dic[2]*/
14 _getVariable
15 _push "x1"/*Dic[0]*/
16 _getVariable
17 _subtract
18 _push "x2"/*Dic[2]*/
19 _getVariable
20 _push "x1"/*Dic[0]*/
21 _getVariable
22 _subtract
23 _multiply
24 _push "y2"/*Dic[3]*/
25 _getVariable
26 _push "y1"/*Dic[1]*/
27 _getVariable
28 _subtract
29 _push "y2"/*Dic[3]*/
30 _getVariable
31 _push "y1"/*Dic[1]*/
32 _getVariable
33 _subtract

как видите хотя операции разные, их количество одинаково
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 12.08.2005, 18:27
F_Flash вне форума Посмотреть профиль Отправить личное сообщение для F_Flash Найти все сообщения от F_Flash
  № 108  
Ответить с цитированием
F_Flash
 
Аватар для F_Flash

Регистрация: Feb 2002
Сообщений: 358
Отправить сообщение для F_Flash с помощью ICQ
Цитата:
Сообщение от E-mail
мне кажется(перекрестился),что флэш так тормозит оттого что он почти полностью автоматизирован,чтобы народ не парился...
в том же с++ чтобы создать массив содержащий разные типы нужно создать либо структуру либо класс,а флэш он ,наверно, делает это автоматически,даже когда в массиве данные одного типа(массив это к примеру)
Естественно. На тип например Byte выделяется 1 байт памати всего, и ты знаешь что он принимет значение от 1 дл 256 . И тебе этого хватает.

А во флеше ты можешь например булеан создать так он в себе уже будет внутри содержать непонятную сруктуру и непонятно сколько памяти. Но зато все просто. Ты можешь на лету из булеана сделать целый супер объект с громадной вложеннолстью.

Старый 12.08.2005, 18:27
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 109  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
Цитата:
Сообщение от F_Flash
Ну через геттаймер проверь.
перед тем как спросить с чего вы взяли я это и сделал. результат был такой: через раз, когда первый быстрее когда второй.

и кстати, не корректно первую функцию 10000 запускать, а вторую 80000
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 12.08.2005, 18:31
E-mail вне форума Посмотреть профиль Отправить личное сообщение для E-mail Найти все сообщения от E-mail
  № 110  
Ответить с цитированием
E-mail
 
Аватар для E-mail

Регистрация: Jun 2005
Адрес: Питер
Сообщений: 498
Записей в блоге: 1
хмм...а нельзя ли принудительно сделать переменную только такого типа какого мне надо?

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

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

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


 


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


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