Насколько стоит оптимизировать?

Раздел, посвящённый самому важному - скорости.

Re: Насколько стоит оптимизировать?

Сообщение vitalik77 26 май 2021, 12:43

Все, понял, спасибо. А то я думал что можна закешировать на подкомпонент ссылку.
vitalik77
UNIверсал
 
Сообщения: 434
Зарегистрирован: 06 май 2021, 09:56

Re: Насколько стоит оптимизировать?

Сообщение TeslaGan 26 май 2021, 13:12

vitalik77 писал(а):Все, понял, спасибо. А то я думал что можна закешировать на подкомпонент ссылку.

в новых версиях шарпа можно... вопрос, как тут дела обстоят с юнити...
Синтаксис:
Используется csharp
public ref bool IsKinematic;

private void Start()
{
   IsKinematic = ref GetComponent<Rigibody>().isKinematic;
}
private void Update()
{
   if( Input.GetKeyDown( KeyCode.Space ) )
      IsKinematic = false;
   if( Input.GetKeyUp( KeyCode.Space ) )
      IsKinematic = true;
}
 

но повторюсь, это штука относительно новая, и надо смотреть, какую сейчас версию шарпа поддерживает юнити
TeslaGan
UNITрон
 
Сообщения: 315
Зарегистрирован: 01 авг 2015, 18:00

Re: Насколько стоит оптимизировать?

Сообщение vitalik77 26 май 2021, 13:17

Да нет, 21й юнити и visual studio полгодичной давности, ни одна такая ссылка не работала. Или ref это какае то новая фишка?
vitalik77
UNIверсал
 
Сообщения: 434
Зарегистрирован: 06 май 2021, 09:56

Re: Насколько стоит оптимизировать?

Сообщение TeslaGan 26 май 2021, 13:33

vitalik77 писал(а):Да нет, 21й юнити и visual studio полгодичной давности, ни одна такая ссылка не работала. Или ref это какае то новая фишка?

ref это старая фишка. но юнити до сих пор сидит на древних версиях ядра... и многих плюшек современного шарпа юниводам не доступны(только что проверил, ref для полей в юнити не доступен =/)
TeslaGan
UNITрон
 
Сообщения: 315
Зарегистрирован: 01 авг 2015, 18:00

Re: Насколько стоит оптимизировать?

Сообщение Woolf 26 май 2021, 19:42

TeslaGan писал(а):
vitalik77 писал(а):Да нет, 21й юнити и visual studio полгодичной давности, ни одна такая ссылка не работала. Или ref это какае то новая фишка?

ref это старая фишка. но юнити до сих пор сидит на древних версиях ядра... и многих плюшек современного шарпа юниводам не доступны(только что проверил, ref для полей в юнити не доступен =/)


это, наверное, потому, что юнити не на шарпе, а на моно?
Разработчик theFisherOnline - там, где клюёт
Разработчик Atom Fishing II - Первая 3D MMO про рыбалку
Разработчик Atom Fishing - Рыбалка на поплавок, донку, нахлыст, блесну в постъядерный период.
Аватара пользователя
Woolf
Адепт
 
Сообщения: 7179
Зарегистрирован: 02 мар 2009, 16:59

Re: Насколько стоит оптимизировать?

Сообщение TeslaGan 26 май 2021, 20:06

Woolf писал(а):это, наверное, потому, что юнити не на шарпе, а на моно?

плюсы жеж?! но это не важно на чем работает компилятор. важно что они помимо шарпа пытаются поддерживать скрипты
TeslaGan
UNITрон
 
Сообщения: 315
Зарегистрирован: 01 авг 2015, 18:00

Re: Насколько стоит оптимизировать?

Сообщение vitalik77 26 май 2021, 22:07

Хорошо, я вот тут подумал, rigidbody определенный тип, а как мне например закешировать вот такую ссылку , на скрипт?
Синтаксис:
Используется csharp
gameObject.GetComponent<SimpleCarController>().maxMotorTorque = 0.0f;

SimpleCarController это другой скрипт
vitalik77
UNIверсал
 
Сообщения: 434
Зарегистрирован: 06 май 2021, 09:56

Re: Насколько стоит оптимизировать?

Сообщение Alkos26Rus 26 май 2021, 22:15

vitalik77 писал(а):Хорошо, я вот тут подумал, rigidbody определенный тип, а как мне например закешировать вот такую ссылку , на скрипт?
Синтаксис:
Используется csharp
gameObject.GetComponent<SimpleCarController>().maxMotorTorque = 0.0f;

По той же аналогии

Синтаксис:
Используется csharp
public SimpleCarController сar_сontroller;

void Start(){
сar_сontroller = GetComponent<SimpleCarController >();
}

void Update(){
сar_сontroller.maxMotorTorque = 0.0f;
}
 


gameObject не нужно писать перед GetComponent
Аватара пользователя
Alkos26Rus
Адепт
 
Сообщения: 1640
Зарегистрирован: 26 ноя 2020, 17:52
Откуда: Москва

Re: Насколько стоит оптимизировать?

Сообщение vitalik77 26 май 2021, 22:21

Спасибо, но как это я не понимаю, какой это тип или клас или что это?
public SimpleCarController сar_сontroller;
или оно автоматически определит что это скрипт? Или вообще все равно?
vitalik77
UNIверсал
 
Сообщения: 434
Зарегистрирован: 06 май 2021, 09:56

Re: Насколько стоит оптимизировать?

Сообщение TeslaGan 26 май 2021, 23:22

vitalik77 писал(а):Спасибо, но как это я не понимаю, какой это тип или клас или что это?
public SimpleCarController сar_сontroller;
или оно автоматически определит что это скрипт? Или вообще все равно?

вообще GetComponent возвращает объект типа Component... но с ними зачастую работать не удобно... потому мы используем приведение типов...
самое эффективное приведение - использовать обобщения. <> - такие скобки. внутри них написан тип переменной которую мы используем.... значит и GetComponent<SimpleCarController>() вернет объект типа SimpleCarController...
но все что я выше написал, справедливо только для функций, поддерживающих обобщения...
TeslaGan
UNITрон
 
Сообщения: 315
Зарегистрирован: 01 авг 2015, 18:00

Пред.

Вернуться в Оптимизация

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

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