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

2020 ж. 12 Жел.
20 546 Рет қаралды

В этом видео мы будем разбирать job систему юнити, как часть DOTS. Job система очень неплохая альтернатива явной многопоточности, когда нужно производить много похожих вычислений.
Blittable типы - docs.microsoft.com/ru-ru/dotn...
Паблик игроделов - vk.com/special3d
Многопоточная запись в файл - • Многопоточность и запи...
Поддержка канала:
Patreon - www.patreon.com/user?u=32502669
В крипте:
BTC - 16WmTb4VTFGYrwEjjnMKNNMMzsMB1rPEqD
ETH - 0x8d35406f8317b846528d0a9ea4a34ce59968dff2
XRP - rLW9gnQo7BQhU6igk5keqYnH3TVrCxGRzm (TAG - 1438215071)
LTC- MNSWdzdVsUMnozSU5HhUPEscfxaUK3Fdck
#unity3d #jobsystem #ecs #dots #ityoutubersru

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

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

    @user-pv9zf9zh5o@user-pv9zf9zh5o3 жыл бұрын
  • Максим у тебя невероятно полезные видео. Многопоточность чертовски нужная тема!

    @seldemirov@seldemirov3 жыл бұрын
  • Это потрясающе, спасибо! Максим у вас на канале, я нашел много ответов для своих вопросов!

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

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

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

    @igor_kharchuk_@igor_kharchuk_2 жыл бұрын
  • Классный ролик, благодарю!

    @andrewmad@andrewmad3 жыл бұрын
  • Спасибо! Очень полезное видео!)

    @user-wv3vi4dt1p@user-wv3vi4dt1p3 жыл бұрын
  • Спасибо за информацию. Очень полезно для меня было посмотреть (послушать).

    @mactepmac@mactepmac2 ай бұрын
  • Спасибо за видео!

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

    @Dimetroc@Dimetroc3 жыл бұрын
  • Наконец то нормальный тип, который знает что говорит, красава бро

    @deltavgamesstudio9968@deltavgamesstudio99683 жыл бұрын
  • буду стремится к тому, чтобы когда нибуть пригодилось, спасибо

    @user-dd1ot9oy5u@user-dd1ot9oy5u3 жыл бұрын
    • На вскидку применение - генерация меша

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

      @yatsuk_vitalii@yatsuk_vitalii2 жыл бұрын
  • Круто! Спасибо!

    @easycodeunity3d14@easycodeunity3d142 жыл бұрын
  • Это вам не корутины) Отличный материал и классный канал.

    @Bald_Panther@Bald_Panther2 жыл бұрын
  • Спасибо.

    @assachan5202@assachan52023 жыл бұрын
  • Респект

    @andrew_t800@andrew_t8003 жыл бұрын
  • Даже не знал, что так можно))

    @AleksandrShtomov@AleksandrShtomov11 ай бұрын
  • огонь!

    @user-pj5np8wo6i@user-pj5np8wo6i2 жыл бұрын
  • Ну жоп систему я всю жизнь знал)

    @celisej@celisej2 жыл бұрын
  • Видео не смотрел, но поинтересуюсь - класс Task для этой задачи не подойдёт?

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

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

      @gaitavr1992@gaitavr19923 жыл бұрын
  • ..мы будем знакомиться с жоп системой

    @tmi114@tmi1143 жыл бұрын
    • Хах

      @extreme7387@extreme73873 жыл бұрын
  • 7:53 в 19 строчке правильней будет Bridge = tempJobContainer; ?

    @valerypopov4041@valerypopov40412 жыл бұрын
  • я не любитель подписываться, но на твой канал даже за деньги бы подписался )

    @user-sj1mq5xu7h@user-sj1mq5xu7h3 жыл бұрын
    • Спасибо, приятно)

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

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

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

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

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

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

      @gaitavr1992@gaitavr19923 жыл бұрын
    • @@gaitavr1992 а когда будет вторая часть?

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

      @user-nm5zh2zb8c@user-nm5zh2zb8c3 жыл бұрын
    • Плюс минус неделя

      @gaitavr1992@gaitavr19923 жыл бұрын
  • почему бы юнити самой не собирать все процессы в джобы?)

    @Wfrden@Wfrden2 жыл бұрын
  • Как же мне больно от "скедиль"

    @user-cv8bw6vg6y@user-cv8bw6vg6y5 ай бұрын
  • А я всегда думал, что жоп система, это когда зимой в машине подогрев сиденья включается.

    @AmbassadorOfLogic@AmbassadorOfLogic2 жыл бұрын
    • Вот это уровень, нужно в стендап

      @gaitavr1992@gaitavr19922 жыл бұрын
    • @@gaitavr1992 уровень юмора: жоп система

      @AmbassadorOfLogic@AmbassadorOfLogic2 жыл бұрын
  • жоп система (((:

    @alexspeleers@alexspeleers3 жыл бұрын
    • Оригинальный комментарий

      @gaitavr1992@gaitavr19923 жыл бұрын
  • Толи я слишком нуб, то ли все слишком внезапно началось и слабо объяснено, но я нехрена не понял.

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

    @saurontheblack6566@saurontheblack6566 Жыл бұрын
    • асинхронность != многопоточность

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

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

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

    @alexcosmos9895@alexcosmos98953 жыл бұрын
    • Посмотрите заодно следующий ролик, там чуть помедленнее)

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

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

      @mimineko3100@mimineko31002 жыл бұрын
  • Не скедил, а шедул. Такая тема и уж такие ляпы

    @danilgazizov@danilgazizov2 жыл бұрын
    • Не знаю теперь как мне теперь и жить с такими ляпами)

      @gaitavr1992@gaitavr19922 жыл бұрын
    • @rupert зачем хамишь? А вот далеко ли твой вариант от моего, по сравнению с автором?

      @danilgazizov@danilgazizov2 жыл бұрын
    • Это два разных произношение британское и американское в вашем случае

      @lustfulglance437@lustfulglance437 Жыл бұрын
  • В 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

    @dmitryternovoy9454@dmitryternovoy9454 Жыл бұрын
KZhead