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

Sdílet
Vložit
  • čas přidán 13. 09. 2024
  • В этом видео мы будем разбирать job систему юнити, как часть DOTS. Job система очень неплохая альтернатива явной многопоточности, когда нужно производить много похожих вычислений.
    Blittable типы - docs.microsoft...
    Паблик игроделов - special3d
    Многопоточная запись в файл - • Многопоточность и запи...
    Поддержка канала:
    Patreon - www.patreon.co...
    В крипте:
    BTC - 16WmTb4VTFGYrwEjjnMKNNMMzsMB1rPEqD
    ETH - 0x8d35406f8317b846528d0a9ea4a34ce59968dff2
    XRP - rLW9gnQo7BQhU6igk5keqYnH3TVrCxGRzm (TAG - 1438215071)
    LTC- MNSWdzdVsUMnozSU5HhUPEscfxaUK3Fdck
    #unity3d #jobsystem #ecs #dots #ityoutubersru

Komentáře • 63

  • @gaitavr1992
    @gaitavr1992  Před 3 lety +11

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

  • @user-pv9zf9zh5o
    @user-pv9zf9zh5o Před 3 lety +14

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

  • @user-kh2fd9gp2b
    @user-kh2fd9gp2b Před 2 měsíci +1

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

  • @ziggruna
    @ziggruna Před 25 dny

    Очень полезное видео и доступно объяснено. Жаль, что новые видео на канале не выходят. Надеюсь на возрождение канала. У вас информативная подача материала.

  • @seldemirov
    @seldemirov Před 3 lety +9

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

  • @Nikita_Azar
    @Nikita_Azar Před 3 lety +4

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

    • @gaitavr1992
      @gaitavr1992  Před 3 lety +5

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

    • @yatsuk_vitalii
      @yatsuk_vitalii Před 3 lety +1

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

  • @Dimetroc
    @Dimetroc Před 3 lety +1

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

  • @igor_kharchuk_
    @igor_kharchuk_ Před 2 lety

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

  • @mactepmac
    @mactepmac Před 6 měsíci

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

  • @deltavgamesstudio9968
    @deltavgamesstudio9968 Před 3 lety

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

  • @shyxiaolong
    @shyxiaolong Před 2 lety

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

  • @kiteva7087
    @kiteva7087 Před 3 lety

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

  • @Bald_Panther
    @Bald_Panther Před 2 lety

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

  • @NoldoWalker
    @NoldoWalker Před 3 lety

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

  • @tmi114
    @tmi114 Před 3 lety +4

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

  • @andrewmad
    @andrewmad Před 3 lety

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

  • @user-wv3vi4dt1p
    @user-wv3vi4dt1p Před 3 lety

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

  • @ve1c0m
    @ve1c0m Před 3 lety +4

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

    • @gaitavr1992
      @gaitavr1992  Před 3 lety +4

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

  • @AleksandrShtomov
    @AleksandrShtomov Před rokem

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

  • @easycodeunity3d14
    @easycodeunity3d14 Před 2 lety

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

  • @user-pj5np8wo6i
    @user-pj5np8wo6i Před 3 lety

    огонь!

  • @celisej
    @celisej Před 2 lety

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

  • @andrew_t800
    @andrew_t800 Před 3 lety

    Респект

  • @user-sj1mq5xu7h
    @user-sj1mq5xu7h Před 3 lety

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

    • @gaitavr1992
      @gaitavr1992  Před 3 lety

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

    • @user-sj1mq5xu7h
      @user-sj1mq5xu7h Před 3 lety

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

  • @assachan5202
    @assachan5202 Před 3 lety

    Спасибо.

  • @JackFastGame
    @JackFastGame Před 3 lety

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

  • @AlexStraga
    @AlexStraga Před 3 lety +1

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

    • @gaitavr1992
      @gaitavr1992  Před 3 lety +1

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

    • @igors3977
      @igors3977 Před 3 lety

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

  • @valerypopov4041
    @valerypopov4041 Před 3 lety

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

  • @Wfrden
    @Wfrden Před 2 lety

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

  • @user-cv8bw6vg6y
    @user-cv8bw6vg6y Před 8 měsíci

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

  • @user-nm5zh2zb8c
    @user-nm5zh2zb8c Před 3 lety

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

    • @gaitavr1992
      @gaitavr1992  Před 3 lety

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

    • @user-nm5zh2zb8c
      @user-nm5zh2zb8c Před 3 lety

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

    • @user-nm5zh2zb8c
      @user-nm5zh2zb8c Před 3 lety +1

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

    • @gaitavr1992
      @gaitavr1992  Před 3 lety

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

  • @AmbassadorOfLogic
    @AmbassadorOfLogic Před 2 lety

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

    • @gaitavr1992
      @gaitavr1992  Před 2 lety

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

    • @AmbassadorOfLogic
      @AmbassadorOfLogic Před 2 lety +1

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

  • @alexcosmos9895
    @alexcosmos9895 Před 3 lety +2

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

    • @gaitavr1992
      @gaitavr1992  Před 3 lety +2

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

    • @alexcosmos9895
      @alexcosmos9895 Před 3 lety

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

    • @mimineko3100
      @mimineko3100 Před 3 lety

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

  • @firerunnew
    @firerunnew Před rokem

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

  • @alexspeleers
    @alexspeleers Před 3 lety +3

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

    • @gaitavr1992
      @gaitavr1992  Před 3 lety

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

  • @saurontheblack6566
    @saurontheblack6566 Před 2 lety

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

    • @exregisterqq
      @exregisterqq Před rokem

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

    • @saurontheblack6566
      @saurontheblack6566 Před rokem

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

    • @saurontheblack6566
      @saurontheblack6566 Před rokem

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

  • @danil_zz
    @danil_zz Před 2 lety

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

    • @gaitavr1992
      @gaitavr1992  Před 2 lety

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

    • @danil_zz
      @danil_zz Před 2 lety

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

    • @lustfulglance437
      @lustfulglance437 Před rokem +2

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

  • @dmitryternovoy9454
    @dmitryternovoy9454 Před rokem

    В 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

  • @IskanderPresent
    @IskanderPresent Před 3 lety

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