Unity job system. Как применять потоки в юнити неявно

แชร์
ฝัง
  • เผยแพร่เมื่อ 12 ธ.ค. 2020
  • В этом видео мы будем разбирать job систему юнити, как часть DOTS. Job система очень неплохая альтернатива явной многопоточности, когда нужно производить много похожих вычислений.
    Blittable типы - docs.microsoft.com/ru-ru/dotn...
    Паблик игроделов - special3d
    Многопоточная запись в файл - • Многопоточность и запи...
    Поддержка канала:
    Patreon - www.patreon.com/user?u=32502669
    В крипте:
    BTC - 16WmTb4VTFGYrwEjjnMKNNMMzsMB1rPEqD
    ETH - 0x8d35406f8317b846528d0a9ea4a34ce59968dff2
    XRP - rLW9gnQo7BQhU6igk5keqYnH3TVrCxGRzm (TAG - 1438215071)
    LTC- MNSWdzdVsUMnozSU5HhUPEscfxaUK3Fdck
    #unity3d #jobsystem #ecs #dots #ityoutubersru

ความคิดเห็น • 62

  • @gaitavr1992
    @gaitavr1992  3 ปีที่แล้ว +10

    Ой-ой, на 8-04 картинка съехала(( Если что, то там время жизни такое же, как у главного потока

  • @user-kh2fd9gp2b
    @user-kh2fd9gp2b 16 วันที่ผ่านมา

    Лучший! спасибо за ролики, и за то что так доступно обьясняешь на хороших примерах!

  • @user-pv9zf9zh5o
    @user-pv9zf9zh5o 3 ปีที่แล้ว +13

    Спасибо большое за ролик, Максим! Я давно пытался понять смысл NativeArray и разобраться с компонентами DOTS. Очень жду новых уроков по этой теме!

  • @seldemirov
    @seldemirov 3 ปีที่แล้ว +8

    Максим у тебя невероятно полезные видео. Многопоточность чертовски нужная тема!

  • @shyxiaolong
    @shyxiaolong 2 ปีที่แล้ว

    Это потрясающе, спасибо! Максим у вас на канале, я нашел много ответов для своих вопросов!

  • @user-wv3vi4dt1p
    @user-wv3vi4dt1p 3 ปีที่แล้ว

    Спасибо! Очень полезное видео!)

  • @andrewmad
    @andrewmad 3 ปีที่แล้ว

    Классный ролик, благодарю!

  • @kiteva7087
    @kiteva7087 2 ปีที่แล้ว

    Самый лучший и качественный контент по Unity на русском, спасибо!)

  • @IskanderPresent
    @IskanderPresent 3 ปีที่แล้ว

    Спасибо за видео!

  • @igor_kharchuk_
    @igor_kharchuk_ 2 ปีที่แล้ว

    Чет мозг плавиться) Но автор хорошо обьясняет, теперь я уже не такой темный лес) Спасибо)

  • @easycodeunity3d14
    @easycodeunity3d14 2 ปีที่แล้ว

    Круто! Спасибо!

  • @NoldoWalker
    @NoldoWalker 3 ปีที่แล้ว

    Полезно знать про такое. Спасибо. Местами похоже на работу постгри в параллельных транзакциях.

  • @mactepmac
    @mactepmac 4 หลายเดือนก่อน

    Спасибо за информацию. Очень полезно для меня было посмотреть (послушать).

  • @Nikita_Azar
    @Nikita_Azar 3 ปีที่แล้ว +4

    буду стремится к тому, чтобы когда нибуть пригодилось, спасибо

    • @gaitavr1992
      @gaitavr1992  3 ปีที่แล้ว +4

      На вскидку применение - генерация меша

    • @yatsuk_vitalii
      @yatsuk_vitalii 2 ปีที่แล้ว +1

      @@gaitavr1992 Добрый день, я как раз делал генерацию меша, но юнити говорит, что индекс вне диапазона IJobParallelFor в буфере чтения/записи. Уже день не могу ничего сделать, переписал код генерации чуть ли не с нуля, не могли бы вы, пожалуйста, сказать из-за чего может быть эта ошибка? Заранее благодарю

  • @Dimetroc
    @Dimetroc 3 ปีที่แล้ว

    job system очень хорошо помогает когда нужно выполнить большое количество вычисленй паралельно и не тормозить при этом основной поток, кау это уже будет использовано в каждом кокреном случае это вопрос к разработчику , в данном ролике отлично заполнине пробелы которые не описаны в документации по юнити, Макс спасибо

  • @deltavgamesstudio9968
    @deltavgamesstudio9968 3 ปีที่แล้ว

    Наконец то нормальный тип, который знает что говорит, красава бро

  • @Bald_Panther
    @Bald_Panther 2 ปีที่แล้ว

    Это вам не корутины) Отличный материал и классный канал.

  • @user-pj5np8wo6i
    @user-pj5np8wo6i 2 ปีที่แล้ว

    огонь!

  • @andrew_t800
    @andrew_t800 3 ปีที่แล้ว

    Респект

  • @assachan5202
    @assachan5202 3 ปีที่แล้ว

    Спасибо.

  • @AleksandrShtomov
    @AleksandrShtomov ปีที่แล้ว

    Даже не знал, что так можно))

  • @celisej
    @celisej 2 ปีที่แล้ว

    Ну жоп систему я всю жизнь знал)

  • @ve1c0m
    @ve1c0m 3 ปีที่แล้ว +4

    Спасибо, очень полезно, например для меня, т.к. по-английски слабо понимаю, а туторы на англ. сложно даются)

    • @gaitavr1992
      @gaitavr1992  3 ปีที่แล้ว +4

      Я бы все же рекомендовал дотянуть уровень хотя бы до intermediate

  • @JackFastGame
    @JackFastGame 2 ปีที่แล้ว

    Видео не смотрел, но поинтересуюсь - класс Task для этой задачи не подойдёт?

  • @user-sj1mq5xu7h
    @user-sj1mq5xu7h 3 ปีที่แล้ว

    я не любитель подписываться, но на твой канал даже за деньги бы подписался )

    • @gaitavr1992
      @gaitavr1992  3 ปีที่แล้ว

      Спасибо, приятно)

    • @user-sj1mq5xu7h
      @user-sj1mq5xu7h 3 ปีที่แล้ว

      @@gaitavr1992 я там на почту тебе написал, глянь пожалуйста

  • @tmi114
    @tmi114 3 ปีที่แล้ว +3

    ..мы будем знакомиться с жоп системой

  • @valerypopov4041
    @valerypopov4041 3 ปีที่แล้ว

    7:53 в 19 строчке правильней будет Bridge = tempJobContainer; ?

  • @user-nm5zh2zb8c
    @user-nm5zh2zb8c 3 ปีที่แล้ว

    В какой версии Юнити ты работаешь. И какой пакет подключаешь через nuget?

    • @gaitavr1992
      @gaitavr1992  3 ปีที่แล้ว

      Версия 2019.4.2f1. Дополнительных пакетов не требуется, раньше насколько я помню нужно было доустановить JobSystem

    • @user-nm5zh2zb8c
      @user-nm5zh2zb8c 3 ปีที่แล้ว

      @@gaitavr1992 а когда будет вторая часть?

    • @user-nm5zh2zb8c
      @user-nm5zh2zb8c 3 ปีที่แล้ว +1

      @@gaitavr1992 я так понимаю что в версии 2020 1 8 она должна быть?

    • @gaitavr1992
      @gaitavr1992  3 ปีที่แล้ว

      Плюс минус неделя

  • @AlexStraga
    @AlexStraga 3 ปีที่แล้ว +1

    Пока что плохо понятно, жду следующего видео )
    Тест коллизии как то можно в таком многопотоке сделать? допустим у меня есть пара сотен вершин и надо протестить входят ли они в другие объекты или нет.
    На вскидку только постепенно проверять их в течении полусекунды например чтобы в одном кадре не было просадок.

    • @gaitavr1992
      @gaitavr1992  3 ปีที่แล้ว +1

      Можно считать входит ли точка в обьем обьекта, вполне реализуемо для job системы

    • @igors3977
      @igors3977 3 ปีที่แล้ว

      @@gaitavr1992 Ждем урок на эту тему, очень ждем.... Спасибо!

  • @Wfrden
    @Wfrden 2 ปีที่แล้ว

    почему бы юнити самой не собирать все процессы в джобы?)

  • @user-cv8bw6vg6y
    @user-cv8bw6vg6y 6 หลายเดือนก่อน

    Как же мне больно от "скедиль"

  • @AmbassadorOfLogic
    @AmbassadorOfLogic 2 ปีที่แล้ว

    А я всегда думал, что жоп система, это когда зимой в машине подогрев сиденья включается.

    • @gaitavr1992
      @gaitavr1992  2 ปีที่แล้ว

      Вот это уровень, нужно в стендап

    • @AmbassadorOfLogic
      @AmbassadorOfLogic 2 ปีที่แล้ว +1

      @@gaitavr1992 уровень юмора: жоп система

  • @saurontheblack6566
    @saurontheblack6566 ปีที่แล้ว

    зачем? если в шарпах существует async await task. Тогда для чего юнити добавило по факту как я понял одно и тоже?

    • @exregisterqq
      @exregisterqq ปีที่แล้ว

      асинхронность != многопоточность

    • @saurontheblack6566
      @saurontheblack6566 ปีที่แล้ว

      @@exregisterqq Только факториал лучше было бы выполнить через асинхронность, чем через многопоточность. А ну и кстати многопоточность в шарпах тоже есть если для вас это критический важно, класс Thread. Ну и плюс Юнити является не потокобезопасным и общаться с ее API надо только из основного потока. Так что ее Джопы это просто костыли, Юнити вообще полна костылей и недоработок, даже удивительно зачем люди в ней так много времени страдают или это уже дело привычки страдать?

    • @saurontheblack6566
      @saurontheblack6566 ปีที่แล้ว

      @@exregisterqq Кстати Юнити не только не потокобезопасная, но она еще и однопоточная) попробуйте написать функцию с вечным циклом и вызвать ее, в результате у вас Юнити прекратит отвечать и закрываться, а единственный способ ее закрыть будет банально убить программу в диспетчере задач, короче мусорная программка

  • @alexcosmos9895
    @alexcosmos9895 3 ปีที่แล้ว +2

    Хороший урок, но как минимум - слишком быстро печатается код, не успеваешь сразу осознать написанное, приходится стопать видео каждые 30 сек, это неудобно и отталкивает восприятие. Ну и в целом быстрый темп - не лучший подход для уроков программирования, на мой взгляд - следует подавать такого рода информацию спокойно и размеренно, чтобы слушатель успевал вникать, мы никуда не торопимся :)

    • @gaitavr1992
      @gaitavr1992  3 ปีที่แล้ว +2

      Посмотрите заодно следующий ролик, там чуть помедленнее)

    • @alexcosmos9895
      @alexcosmos9895 3 ปีที่แล้ว

      @@gaitavr1992 уже глянул, отличные уроки, благодарю)

    • @mimineko3100
      @mimineko3100 3 ปีที่แล้ว

      Скажу по секрету - в настройках любого видео можно поставить как ускорение, так и замедление воспроизведения ;)

  • @alexspeleers
    @alexspeleers 3 ปีที่แล้ว +3

    жоп система (((:

    • @gaitavr1992
      @gaitavr1992  3 ปีที่แล้ว

      Оригинальный комментарий

  • @firerunnew
    @firerunnew ปีที่แล้ว

    Толи я слишком нуб, то ли все слишком внезапно началось и слабо объяснено, но я нехрена не понял.

  • @danil_zz
    @danil_zz 2 ปีที่แล้ว

    Не скедил, а шедул. Такая тема и уж такие ляпы

    • @gaitavr1992
      @gaitavr1992  2 ปีที่แล้ว

      Не знаю теперь как мне теперь и жить с такими ляпами)

    • @danil_zz
      @danil_zz 2 ปีที่แล้ว

      @rupert зачем хамишь? А вот далеко ли твой вариант от моего, по сравнению с автором?

    • @lustfulglance437
      @lustfulglance437 ปีที่แล้ว +2

      Это два разных произношение британское и американское в вашем случае

  • @dmitryternovoy9454
    @dmitryternovoy9454 ปีที่แล้ว

    В Unity 2021.3.7f1 ругается на лог $"factorial of {bridge[0]} is {bridge[1]}"
    На то что нельзя читать массив, пока в него кто-то пишет
    You must call JobHandle.Complete() on the job PowJob, before you can read from the Unity.Collections.NativeArray