Страница 3 из 4

Re: Производитеьность скриптов. Жаба против Напильника.

СообщениеДобавлено: 28 май 2009, 22:08
wild_r
if((hash[k]==1)&&((objs[k] as GameObject).renderer.sharedMaterial.GetTexture("_MainTex").name == (objs[i] as GameObject).renderer.sharedMaterial.GetTexture("_MainTex").name)){
(objs[k] as GameObject).renderer.sharedMaterial = (objs[i] as GameObject).renderer.sharedMaterial;
hash[k]=0;
}


Потрясающее форматирование. Пока, с каспером и софтом в трее и то напильник выигрывает.

З.Ы. Может можно пофиксить тэг [code][/code], чтобы так код не колбасило. И чтобы табы понимал.
З.Ы.Ы. Совсем забыл про приведение типов, где ж моя голова... наверное все фубар...

Re: Производитеьность скриптов. Жаба против Напильника.

СообщениеДобавлено: 28 май 2009, 22:17
Neodrop
Кривой код. Вместо двух кастов, достаточно объявить две переменные и кастануть один раз. А в цикле будет очень значительная экономия. Я же писал выше код. :-?

Re: Производитеьность скриптов. Жаба против Напильника.

СообщениеДобавлено: 28 май 2009, 22:23
wild_r
Резалты. (по 5 прогонов)
Код: Выделить всё
1) Тупо Жаба, с автоприведением типов:
10.151012
11.527839
9.753527
9.763131
9.464273

2) #pragma strict:
2.212734
2.154170
2.175579
2.177586
2.177586


Хм, а как я изменять буду, если это переменные. Все равно 4 каста будет.

З.Ы. Аа, понял. Одна переменная и два каста. Тобишь то, что только читаем - в переменную. То, куда пишем- по касту. Если посмотреть и на касты в переменной, то всего будет три, вместо четырех.

З.Ы.Ы. Только и так понятнее, что напильник в 4-5 раз быстрее.
З.Ы.Ы.Ы. Могу свой конфиг отписать, если нужно.

Re: Производитеьность скриптов. Жаба против Напильника.

СообщениеДобавлено: 28 май 2009, 22:27
Neodrop
Спасибо, мне не нужно. Интересно, всё-таки, глянуть с директивой... :-?

Re: Производитеьность скриптов. Жаба против Напильника.

СообщениеДобавлено: 28 май 2009, 22:45
wild_r
В смысле? На код? Или напрямую на С#?

Re: Производитеьность скриптов. Жаба против Напильника.

СообщениеДобавлено: 28 май 2009, 22:49
Neodrop
Нет. На скорость работы скрипта с директивой #pragma strict

Re: Производитеьность скриптов. Жаба против Напильника.

СообщениеДобавлено: 28 май 2009, 22:59
wild_r
Так я же написал - первая без этой директивы, а второй список - с ней. Там, где 2 хз чего - с ней, где 9 - без. Ведь с самого начала вы в качестве оптимизации предложили именно директиву.

Re: Производитеьность скриптов. Жаба против Напильника.

СообщениеДобавлено: 28 май 2009, 23:03
Neodrop
То есть выходит, что с директивой почти равно по скорости с напильником?

Re: Производитеьность скриптов. Жаба против Напильника.

СообщениеДобавлено: 28 май 2009, 23:07
wild_r
На Шарпе не пробовал. Завтра утром.

Re: Производитеьность скриптов. Жаба против Напильника.

СообщениеДобавлено: 28 май 2009, 23:09
Neodrop
Хм... Значит ваш пост :

Резалты. (по 5 прогонов)

Код: Выделить всё
1) Тупо Жаба, с автоприведением типов:
10.151012
11.527839
9.753527
9.763131
9.464273

2) Напильник:
2.212734
2.154170
2.175579
2.177586
2.177586


Немного некорректен. Второй столбец это с #pragma strict ?
Или я в конец запутался... :-?
(Напильник это Sharp)

Re: Производитеьность скриптов. Жаба против Напильника.

СообщениеДобавлено: 29 май 2009, 09:04
wild_r
Дада, извините что запутал.

Re: Производитеьность скриптов. Жаба против Напильника.

СообщениеДобавлено: 29 май 2009, 12:37
wild_r
Код:
Код: Выделить всё
   objs = FindObjectsOfType(GameObject);

Ругается:
Код: Выделить всё
Assets/Scripts/Searching.cs(13,34): error CS0119: Expression denotes a `type', where a `variable', `value' or `method group' was expected


Также:
1) Как получить длину массива.

Re: Производитеьность скриптов. Жаба против Напильника.

СообщениеДобавлено: 29 май 2009, 12:42
Neodrop
C#
Код: Выделить всё
GameObject objs = FindObjectsOfType(typeof(GameObject)) as GameObject;


Массив:

C#
Код: Выделить всё
ArrayList arr;
//..........................

int lenght = arr.Count;


Но, если есть возможность, лучше использовать предопределённые массивы. С заранее заданным размером. Они быстрее обрабатываются и не понадобиться их кастовать.
Кстати, это одинаково справедливо для обоих языков.

Re: Производитеьность скриптов. Жаба против Напильника.

СообщениеДобавлено: 29 май 2009, 19:01
wild_r
А как в Шарпе будет @script ExecuteInEditMode()?

Re: Производитеьность скриптов. Жаба против Напильника.

СообщениеДобавлено: 29 май 2009, 19:08
Neodrop
[@script ExecuteInEditMode]
Кажется так. Но точно не помню..

Уточнил. Вот так: [ ExecuteInEditMode() ]