блогер
_Smirnoff
|
Последняя активность: 27.12.2012 15:18
Обо мне
- О _Smirnoff
- Положение в пространстве
- Russia
- Интересы
- gym, coding
- Род деятельности
- Developer
-
Подпись
- Оптимизация производительности на уровне кода
Блог
Просмотреть блог _SmirnoffПоследние записи
Последняя запись
Размещено в
Без категории
Когда-то очень упорно искал в проекте лики памяти, вот моя коллекция ссылок в помощь...
[Ссылка]
[Ссылка]
[Ссылка]
[Ссылка]
[Ссылка]
[Ссылка]...
[Ссылка]
[Ссылка]
[Ссылка]
[Ссылка]
[Ссылка]
[Ссылка]...
Размещено в
Без категории
Заметил странную вещь. Если посмотреть, что выведет нам код, который написан ниже
...
public function main():void { var textField:TextField; addChild(textField = new TextField()); textField.type = TextFieldType.DYNAMIC; textField.selectable = false; textField.antiAliasType = AntiAliasType.ADVANCED; textField.autoSize = TextFieldAutoSize.LEFT; textField.text = 'Если ты привлекаешь в игру новых
Размещено в
Без категории
На флешстаре нашел статью по преобразование трех циклов в один. Очень заинтересовал алгоритм, но никак нет времени посмотреть, чтобы ссылку не сохранять выложу статью тут, мож потом гляну какнить.
1) Тут мы видим классическую реализацию обхода трёхмерном массива.
...

1) Тут мы видим классическую реализацию обхода трёхмерном массива.
//1 for(var i:int=0; i < 5; i++) for(var j:int=0; j < 5; j++) for(var ij:int=0; ij < 5; ij++) { trace(i+" "+j+" "+ij); }
Размещено в
Без категории
Замечено использование очень интересной конструкции, которая компилируется без проблем:
Режим компилятора "strict", IDE == Flex...
package { import flash.display.Sprite; public class TestPointPoint extends Sprite { public function TestPointPoint() { var sprite:Sprite = new Sprite(); sprite..x = 50; sprite..y = 50; addChild(sprite); } } }
Размещено в
Без категории
И так первая запись в дневнике.
Встречал на многих сайтах статью, где рассказывается об ускорении работы ActionScript 3.0 кода.
Уже закрыл вкладку с одной из этих страниц, не охота искать, изложу один пункт вкрации.
"Используйте int каст, вместо Math.floor это типа быстрее." Вот и я повелся на эту оптимизацию и воткнул в проект эту фичу. И вдруг встретил подводный камень, что-то в проекте начало работать не так.Стал искать причину и вот, что раскопал.Скажу кодом:...
Встречал на многих сайтах статью, где рассказывается об ускорении работы ActionScript 3.0 кода.
Уже закрыл вкладку с одной из этих страниц, не охота искать, изложу один пункт вкрации.
"Используйте int каст, вместо Math.floor это типа быстрее." Вот и я повелся на эту оптимизацию и воткнул в проект эту фичу. И вдруг встретил подводный камень, что-то в проекте начало работать не так.Стал искать причину и вот, что раскопал.Скажу кодом:...
Последние комментарии
[Ссылка]
Запись от ~~~ размещена 09.08.2011 в 19:03

вот это другое дело! Теперь верю)))
Запись от Xero201 размещена 13.01.2010 в 15:35
[QUOTE]Котяра предложил верное решение проблемы.[/QUOTE]
Котяра предложил переводить отрицательное число в по-ложительное, применять int и переводить обратно в отрица-тельное. Но ведь это переливание из пустого в порожнее т.к. int работает для положительных чисел как floor, только потому, что для них откидывание дробной части равносильно округлению в меньшую сторону, в отличии от отрицательных (о чем и говорил [B][I]ramshteks[/I][/B]).
Разницы между -int(-x) и int(x) - вообще нет.
x=-1.7//-1 а должно быть -2
Т.е. хотя задача заменить floor на int, делать это можно только для неотрицательных чисел
Другой вопрос, не получится ли так, что проверка числа на знак + работа int() в суме будет дольше, чем сразу использование floor? Оказывается нет
[AS3]var d:int = 10000;
var number_less:int;
var number:Number;
var t1:uint=getTimer();
for (number=0; number<d;number+=0.1){
number_less = (number>0)?int(number):Math.floor(number);
}
var t2:int=getTimer();
for (number=-d; number<0;number+=0.1){
number_less = Math.floor(number);
}
var t3:int=getTimer();
trace(t2-t1);//2
trace(t3-t2);//20[/AS3]
уф, вот)...
Котяра предложил переводить отрицательное число в по-ложительное, применять int и переводить обратно в отрица-тельное. Но ведь это переливание из пустого в порожнее т.к. int работает для положительных чисел как floor, только потому, что для них откидывание дробной части равносильно округлению в меньшую сторону, в отличии от отрицательных (о чем и говорил [B][I]ramshteks[/I][/B]).
Разницы между -int(-x) и int(x) - вообще нет.
x=-1.7//-1 а должно быть -2
Т.е. хотя задача заменить floor на int, делать это можно только для неотрицательных чисел
Другой вопрос, не получится ли так, что проверка числа на знак + работа int() в суме будет дольше, чем сразу использование floor? Оказывается нет
[AS3]var d:int = 10000;
var number_less:int;
var number:Number;
var t1:uint=getTimer();
for (number=0; number<d;number+=0.1){
number_less = (number>0)?int(number):Math.floor(number);
}
var t2:int=getTimer();
for (number=-d; number<0;number+=0.1){
number_less = Math.floor(number);
}
var t3:int=getTimer();
trace(t2-t1);//2
trace(t3-t2);//20[/AS3]
уф, вот)...
Запись от Xero201 размещена 12.01.2010 в 14:07
Цитата:
Ведь задача не заставить |
Запись от _Smirnoff размещена 12.01.2010 в 09:49
