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

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

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

блогер
Регистрация: Oct 2005
Адрес: Днепродзержинск - город Брежнева и других логопедов
Сообщений: 1,421
Записей в блоге: 4
Отправить сообщение для -De- с помощью ICQ Отправить сообщение для -De- с помощью Skype™
ЭЭ trace(new Sprite() as MovieClip) - null, как там Сoercion Error через if пролезет?

Старый 23.06.2010, 19:24
i.o. вне форума Посмотреть профиль Отправить личное сообщение для i.o. Найти все сообщения от i.o.
  № 12  
Ответить с цитированием
i.o.
 
Аватар для i.o.

Регистрация: Apr 2010
Адрес: Earth
Сообщений: 1,897
"-De-", мало ли, всякое бывает. Лучше писать по-правильному (если мы проверяем, то нужно проверять, а не приводить), чем потом удивляться, что ошибки откуда-то полезли.

за i+=1 не бьют, тема тут была, что так быстрее цикл крутится, чем с i++. Я конечно не настаиваю, пишите как нравится, смысл же главное ясен.


Последний раз редактировалось i.o.; 23.06.2010 в 19:37.
Старый 23.06.2010, 20:15
BlooDHounD вне форума Посмотреть профиль Отправить личное сообщение для BlooDHounD Посетить домашнюю страницу BlooDHounD Найти все сообщения от BlooDHounD
  № 13  
Ответить с цитированием
BlooDHounD
стервочка (я мужик)
 
Аватар для BlooDHounD

блогер
Регистрация: Mar 2004
Адрес: Борисов
Сообщений: 3,161
Записей в блоге: 22
i.o. +=1 и ++ абсолютно одинаково работают. и в той тебе об этом говорилось. разница только в обращении к свойству или локальной переменной.

Старый 23.06.2010, 20:16
SaloS вне форума Посмотреть профиль Отправить личное сообщение для SaloS Найти все сообщения от SaloS
  № 14  
Ответить с цитированием
SaloS

Регистрация: Jun 2010
Сообщений: 21
Цитата:
Сообщение от -De- Посмотреть сообщение
такой ещё костыль можно сделать.
Код AS3:
for(var i:int=0; i<numChildren; i++){
  var mc:MovieClip = (getChildAt(i) as MovieClip);
  if(mc) mc.stop();
}
так и сделал

Старый 23.06.2010, 20:19
i.o. вне форума Посмотреть профиль Отправить личное сообщение для i.o. Найти все сообщения от i.o.
  № 15  
Ответить с цитированием
i.o.
 
Аватар для i.o.

Регистрация: Apr 2010
Адрес: Earth
Сообщений: 1,897
одинаково так одинаково, главное что +=1 тормознее, чем ++ не становится.


Blood, в той статье про uint речь шла...
Вот тебе тест:
Код AS3:
var tm:uint;
var i:int;
var l:int = 1E8;
 
tm = getTimer();
for( i=0; i<l; i++ )
{
}
trace( getTimer() - tm ); //620
 
tm = getTimer();
for( i=0; i<l; i+=1 )
{
}
trace( getTimer() - tm ); //472
Лично у меня +=1 все же быстрее, чем ++


Последний раз редактировалось i.o.; 23.06.2010 в 20:29.
Старый 24.06.2010, 00:15
-De- вне форума Посмотреть профиль Отправить личное сообщение для -De- Найти все сообщения от -De-
  № 16  
Ответить с цитированием
-De-
 
Аватар для -De-

блогер
Регистрация: Oct 2005
Адрес: Днепродзержинск - город Брежнева и других логопедов
Сообщений: 1,421
Записей в блоге: 4
Отправить сообщение для -De- с помощью ICQ Отправить сообщение для -De- с помощью Skype™
А если поменять местами i++ и i+=1, то что-то изменится? У меня не меняется, хоть числа разные и разница вродь побольше погрешности getTimer()


Последний раз редактировалось -De-; 24.06.2010 в 00:27.
Старый 24.06.2010, 01:13
dimarik вне форума Посмотреть профиль Отправить личное сообщение для dimarik Найти все сообщения от dimarik
  № 17  
Ответить с цитированием
dimarik
.
 
Аватар для dimarik

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
А is и as одинаковы по скорости )
__________________
Воспитан в TimeZero. Работаю в Mail.ru.

Старый 24.06.2010, 07:55
i.o. вне форума Посмотреть профиль Отправить личное сообщение для i.o. Найти все сообщения от i.o.
  № 18  
Ответить с цитированием
i.o.
 
Аватар для i.o.

Регистрация: Apr 2010
Адрес: Earth
Сообщений: 1,897
-De-, я был не прав. С оператором as не возникнет ошибки приведения.

Цитата:
А если поменять местами i++ и i+=1, то что-то изменится?
Код AS3:
var tm:uint;
var i:int;
var l:int = 1E8;
 
tm = getTimer();
for( i=0; i<l; i+=1 )
{
}
trace( getTimer() - tm ); //525
 
tm = getTimer();
for( i=0; i<l; i++ )
{
}
trace( getTimer() - tm ); //632
Как я уже сказал - не настаиваю на +=1. Все равно так чуток быстрее получается, хоть толку и мало от этого

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

Регистрация: Jun 2006
Сообщений: 400
i.o. Ну допустим в ас3 это быстрее. Но в других языках то нет. зачем привыкать? а можно еще вместо объектного программирования перейти на функциональное. Будет еще быстрее. Вы объектами не пользуетесь?

Старый 24.06.2010, 10:47
i.o. вне форума Посмотреть профиль Отправить личное сообщение для i.o. Найти все сообщения от i.o.
  № 20  
Ответить с цитированием
i.o.
 
Аватар для i.o.

Регистрация: Apr 2010
Адрес: Earth
Сообщений: 1,897
вы вообще про что? Лично я здесь обсуждаю AS3. Если есть простой способ немножко увеличить скорость, то в чем проблема его использовать? Я что предложил 10 строк вместо одной или какую-то идусскую конструкцию? Нет, всего лишь сменить оператор при инкрементировании. Про "привыкать" речи не шло. Скажу в третий раз: нравится - пользуйтесь, не нравится - не пользуйтесь.


Последний раз редактировалось i.o.; 24.06.2010 в 10:55.
Создать новую тему Ответ Часовой пояс GMT +4, время: 09:01.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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