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

Оптимизация кода.

Re: Производитеьность скриптов

Сообщение Const_47 23 май 2009, 15:53

Я думаю, что сила жабы в ее общедоступности. Своего рода общий связующий язык Юнити разработчиков для понимания друг-друга. Посмотрите на форум большинство примеров на жабе ;) Сам я выбрал С# по причине супермегаудобства :D программирования на студии.

Что мне не совсем нравится в жабе, так это вот такой тип - var. Если код достаточно большой я перестаю в нем находить "концы" Я хошу четко понимать с каким типом имею дело.
Const_47
Герой Форума
 
Сообщения: 271
Зарегистрирован: 23 мар 2009, 19:24
Откуда: Украина. Львов\Новояворовск

Re: Производитеьность скриптов

Сообщение Neodrop 23 май 2009, 16:04

Вот для этого (помимо оптимизации) и стоит объявлять переменные непосредственно. типа :
var count : int;

Ну а на форуме, на нём быстрее писать код, для примеров. Быстрее накидать прототип алгоритма. Поэтому, как связующий язык, он очень удобен. Ну и для маленьких, "быстронаписуемых" проектов он замечателен, ничего не скажу. Когда листинг не превышает 500 строк (обобщённо во всех скриптах), ну 1000, Жаба незаменима и молниеносна ( если нет ещё привычки писать Напильником(Шарпом)).
Добавить neodrop в Skype
Изображение
"Спасибо!" нашему порталу, вы сможете сказать ЗДЕСЬ.
Если проблема не решается честно, нужно её обмануть! || Per stupiditas at Astra!
Страх порождает слабость. Бесстрашных поражают пули.
Протратившись на блядях байтах, на битах не экономят.
Аватара пользователя
Neodrop
Админ
 
Сообщения: 8449
Зарегистрирован: 08 окт 2008, 15:42
Откуда: Питер
Skype: neodrop
  • Сайт

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

Сообщение Neodrop 23 май 2009, 16:05

Переименовал тему. Так прикольнее. :D
Добавить neodrop в Skype
Изображение
"Спасибо!" нашему порталу, вы сможете сказать ЗДЕСЬ.
Если проблема не решается честно, нужно её обмануть! || Per stupiditas at Astra!
Страх порождает слабость. Бесстрашных поражают пули.
Протратившись на блядях байтах, на битах не экономят.
Аватара пользователя
Neodrop
Админ
 
Сообщения: 8449
Зарегистрирован: 08 окт 2008, 15:42
Откуда: Питер
Skype: neodrop
  • Сайт

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

Сообщение gnoblin 23 май 2009, 16:10

В .NET 3.0 - "var" тоже есть :-s
skypeid: madkust
Мои крайние проекты:
Убойный Хоккей
Cube Day Z (альфа)
Аватара пользователя
gnoblin
Адепт
 
Сообщения: 4633
Зарегистрирован: 08 окт 2008, 17:23
Откуда: Минск, Беларусь
Skype: madkust
  • Сайт

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

Сообщение Neodrop 23 май 2009, 16:17

В [unity 3D] Юнити мы работаем на .NET 2.0
Добавить neodrop в Skype
Изображение
"Спасибо!" нашему порталу, вы сможете сказать ЗДЕСЬ.
Если проблема не решается честно, нужно её обмануть! || Per stupiditas at Astra!
Страх порождает слабость. Бесстрашных поражают пули.
Протратившись на блядях байтах, на битах не экономят.
Аватара пользователя
Neodrop
Админ
 
Сообщения: 8449
Зарегистрирован: 08 окт 2008, 15:42
Откуда: Питер
Skype: neodrop
  • Сайт

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

Сообщение wild_r 28 май 2009, 10:47

Вот руки добрались до замеров, а вот как вычислить текущее время? Гугл не помог.
wild_r
UNITрон
 
Сообщения: 220
Зарегистрирован: 16 апр 2009, 20:46
Откуда: Россия, Санкт - Петербург
  • ICQ

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

Сообщение gnoblin 28 май 2009, 11:54

Просто текущую дату? Я выкладывал кусок кода.
skypeid: madkust
Мои крайние проекты:
Убойный Хоккей
Cube Day Z (альфа)
Аватара пользователя
gnoblin
Адепт
 
Сообщения: 4633
Зарегистрирован: 08 окт 2008, 17:23
Откуда: Минск, Беларусь
Skype: madkust
  • Сайт

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

Сообщение wild_r 28 май 2009, 11:58

Нет, количество милисекунд от начала года. Чтобы было не слишком большое число и было количество едениц времени от некой точки отсчета. Буду рад, если код сюда кинете.
wild_r
UNITрон
 
Сообщения: 220
Зарегистрирован: 16 апр 2009, 20:46
Откуда: Россия, Санкт - Петербург
  • ICQ

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

Сообщение gnoblin 28 май 2009, 13:39

Что ты конкретно хочешь сделать?
Время, прошедшее с запуска игры, хранится в одной из переменных класса Time.
skypeid: madkust
Мои крайние проекты:
Убойный Хоккей
Cube Day Z (альфа)
Аватара пользователя
gnoblin
Адепт
 
Сообщения: 4633
Зарегистрирован: 08 окт 2008, 17:23
Откуда: Минск, Беларусь
Skype: madkust
  • Сайт

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

Сообщение Neodrop 28 май 2009, 17:25

Перед началом вычисления записываешь Time.realtimeSienceStartUp
После завершения, получаешь опять и вычитаешь одно из другого.
Добавить neodrop в Skype
Изображение
"Спасибо!" нашему порталу, вы сможете сказать ЗДЕСЬ.
Если проблема не решается честно, нужно её обмануть! || Per stupiditas at Astra!
Страх порождает слабость. Бесстрашных поражают пули.
Протратившись на блядях байтах, на битах не экономят.
Аватара пользователя
Neodrop
Админ
 
Сообщения: 8449
Зарегистрирован: 08 окт 2008, 15:42
Откуда: Питер
Skype: neodrop
  • Сайт

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

Сообщение wild_r 28 май 2009, 18:18

Да, я именно эту функцию и искал, спасибо!
wild_r
UNITрон
 
Сообщения: 220
Зарегистрирован: 16 апр 2009, 20:46
Откуда: Россия, Санкт - Петербург
  • ICQ

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

Сообщение wild_r 28 май 2009, 19:56

С директивой #pragma strict ругаеться на то, что у гейм обжетка нет рендера.
wild_r
UNITрон
 
Сообщения: 220
Зарегистрирован: 16 апр 2009, 20:46
Откуда: Россия, Санкт - Петербург
  • ICQ

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

Сообщение Neodrop 28 май 2009, 21:00

Строку в студию.
Добавить neodrop в Skype
Изображение
"Спасибо!" нашему порталу, вы сможете сказать ЗДЕСЬ.
Если проблема не решается честно, нужно её обмануть! || Per stupiditas at Astra!
Страх порождает слабость. Бесстрашных поражают пули.
Протратившись на блядях байтах, на битах не экономят.
Аватара пользователя
Neodrop
Админ
 
Сообщения: 8449
Зарегистрирован: 08 окт 2008, 15:42
Откуда: Питер
Skype: neodrop
  • Сайт

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

Сообщение wild_r 28 май 2009, 21:42

Без директивы все работает, правда разброс времени большой.

Код: Выделить всё
#pragma strict
@script ExecuteInEditMode()


function Start() {
   var objs = new Array();
   var i : Number;
   var j : Number;
   var k : Number;

   var hash = new Array();

   objs = FindObjectsOfType(GameObject);
   j =Time.realtimeSinceStartup;

   for(i=0; i<objs.length;i++){
      hash[i]=1;
   }

   for(i=0; i<objs.length; i++) {
      if(hash[i]==1){
         for (k=j; k<objs.length; k++) {
            if((hash[k]==1)&&(objs[k].renderer.sharedMaterial.GetTexture("_MainTex").name == objs[i].renderer.sharedMaterial.GetTexture("_MainTex").name)){
               objs[k].renderer.sharedMaterial = objs[i].renderer.sharedMaterial;
               hash[k]=0;
            }   
         }
      }
   }
   Debug.Log(Time.realtimeSinceStartup - j);
}
wild_r
UNITрон
 
Сообщения: 220
Зарегистрирован: 16 апр 2009, 20:46
Откуда: Россия, Санкт - Петербург
  • ICQ

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

Сообщение Neodrop 28 май 2009, 21:54

Чтобы работала директива, нужно перед этой строкой :
if((hash[k]==1)&&(objs[k].renderer.sharedMaterial.GetTexture("_MainTex").name == objs[i].renderer.sharedMaterial.GetTexture("_MainTex").name))

Добавить это:
var go : GameObject = objs[k] as GameObject; (если не прокатит просто (GameObject)objs[k];)

и в строке заменить if((hash[k]==1)&&(objs[k].renderer.sharedMaterial.GetTexture

на if((hash[k]==1)&&(go.renderer.sharedMaterial.GetTexture
Добавить neodrop в Skype
Изображение
"Спасибо!" нашему порталу, вы сможете сказать ЗДЕСЬ.
Если проблема не решается честно, нужно её обмануть! || Per stupiditas at Astra!
Страх порождает слабость. Бесстрашных поражают пули.
Протратившись на блядях байтах, на битах не экономят.
Аватара пользователя
Neodrop
Админ
 
Сообщения: 8449
Зарегистрирован: 08 окт 2008, 15:42
Откуда: Питер
Skype: neodrop
  • Сайт

Пред.След.

Вернуться в Код

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2