блогер
_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 = 'Если ты привлекаешь в игру новых
Размещено в
Без категории
На флешстаре нашел статью по преобразование трех циклов в один. Очень заинтересовал алгоритм, но никак нет времени посмотреть, чтобы ссылку не сохранять выложу статью тут, мож потом гляну какнить.![Cool](images/smilies/cool.gif)
1) Тут мы видим классическую реализацию обхода трёхмерном массива.
...
![Cool](images/smilies/cool.gif)
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
![~~~ вне форума](images/russian/style3/misc/blog/status_offline.gif)
вот это другое дело! Теперь верю)))
Запись от 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
![_Smirnoff вне форума](images/russian/style3/misc/blog/status_offline.gif)