Цитата:
Сообщение от KUZEN
Да это и так было понятно чем больше символов тем больше вес
|
ну как тебе сказать.
напиши тот же код в Си или Делфи - размер проги будет один и тот же.
ладно разговори не об этом...
вот пару еще примеров "тонкостей"(для некоторых это само собо разумеющиеся)
при работе с массивом в цикле не пишем так:
Код:
for (i = 0; i<my_array.length....){
.....
}
а так
Код:
var c = my_array.length
for (i = 0; i<c....){
.....
}
т.е. на каждом шаге не вычисляем длинну массива, для маленьких массивов это не критично, а воткните 3 по 100k %)
Ну и второй вариант это "сокращать" пути к объектам если делаем что-то в циклах.
заменяем перед циклом на
В данном случае флеш не тратит время на прощет пути, и опять экономим время.
Как пример вставте этот код в первый кадр и посмотрите че будет
Код:
_root.mc.mc.myVar = 0;
t = new Date().getTime();
for(i = 0; i<50000; i++){
_root.mc.mc.myVar ++
}
trace('long path - '+ (new Date().getTime()-t))
_root.mc.mc.myVar = 0;
c = _root.mc.mc
t = new Date().getTime();
for(i = 0; i<50000; i++){
c.myVar ++
}
trace('short path - '+(new Date().getTime()-t))
var ara = new Array(50000)
t = new Date().getTime();
for(i = 0; i<ara.length; i++){
ara[i]=i;
}
trace('calc length - '+(new Date().getTime()-t))
t = new Date().getTime();
c = ara.length
for(i = 0; i<c; i++){
ara[i]=-i;
}
trace('pre calc length- '+(new Date().getTime()-t))
|