Size: a a a

2019 March 28

СВ

Сэр Гусь Важный... in Unreal Engine
@ufnah мы ждем)
источник

СВ

Сэр Гусь Важный... in Unreal Engine
и GetTimerManager() в потоках нормально работает? Опыта нету с анриловской асинхронкой особо большого
источник

AS

Alexander Shumeyko in Unreal Engine
Сэр Гусь Важный
Т.е 2 пост даты одинаковые, их нормально воспринимает компилятор?
По идее да, 2я лямбда к себе запомнит PostData, а о PostData 1й лябмды она знать не знает
вот если бы было так
[&, PostData = std::move(PostData)]
То всё бы пошло не так
источник

VA

Vladimir Alyamkin in Unreal Engine
Alexander Shumeyko
check(RequestHandler.Get()->GetOuter());
check(RequestHandler.Get()->GetOuter()->GetWorld());

А для чего чекать Outer и потом world?
Если можно сразу RequestHandler.Get()->GetWorld(), объект внутри возьмем оутера и у него world
да, это лишнее, можно редуцировать
источник

VA

Vladimir Alyamkin in Unreal Engine
чеки и геттеры тут пофиг честно говоря
источник

VA

Vladimir Alyamkin in Unreal Engine
вторая лямда рабочая, все с ней ок
источник

VA

Vladimir Alyamkin in Unreal Engine
Сэр Гусь Важный
и GetTimerManager() в потоках нормально работает? Опыта нету с анриловской асинхронкой особо большого
ну дак гейм тред же
источник

СВ

Сэр Гусь Важный... in Unreal Engine
Vladimir Alyamkin
ну дак гейм тред же
зацепился за асинк и не глянул, ага, вижу
источник

СВ

Сэр Гусь Важный... in Unreal Engine
Vladimir Alyamkin
https://github.com/PushkinStudio/PsWebServer/commit/7f32720ca6d1a9350cb3ddab8a455105c34a2bed

(выносят черный ящик, играет волчок)
В: Этот коммит занял полный рабочий день и породил множество безумных знаний. Вопрос знатокам: why?
ну так? какой ответ? что там с памятью то было
источник

AS

Alexander Shumeyko in Unreal Engine
Сэр Гусь Важный
ну так? какой ответ? что там с памятью то было
Спорили как лучше переменную назвать)
источник

VA

Vladimir Alyamkin in Unreal Engine
Сэр Гусь Важный
ну так? какой ответ? что там с памятью то было
Простая ситуация - у нас допустим в пять потоков работает веб-сервер, приходят большие json'ки. Что случится без второй лямбды?
источник

VA

Vladimir Alyamkin in Unreal Engine
Большие - допустим, их процессинг занимает 100мс для красоты цифры
источник

VA

Vladimir Alyamkin in Unreal Engine
Запросы приходят постоянно, т.е. очередь там на 100500 их, но в пять потоков обработка.
источник

AS

Alexander Shumeyko in Unreal Engine
Vladimir Alyamkin
Простая ситуация - у нас допустим в пять потоков работает веб-сервер, приходят большие json'ки. Что случится без второй лямбды?
Может быть для того чтобы корректно начать обрабатывать все запросы, которые есть на текущий тик?
источник

AS

Alexander Shumeyko in Unreal Engine
Идёт спокойное формирование списка запросов, которые должны начать обрабатываться на следующий тик
источник

VA

Vladimir Alyamkin in Unreal Engine
Ну нет, обработка запросов успешно идёт и без второй лямбды. Они отлично ходят в гейм тред, процессятся и всё такое.
источник

VA

Vladimir Alyamkin in Unreal Engine
Оно вон с месяц в таком виде жило и радовало :)
источник

VA

Vladimir Alyamkin in Unreal Engine
Но без второй лямбды нас жестоко покарает потребление памяти. Потому что есть шанс что следующий тик не наступит никогда :)
источник

VA

Vladimir Alyamkin in Unreal Engine
(или память, или GC покарает - кто уж там раньше в лимит упрётся)
источник

VA

Vladimir Alyamkin in Unreal Engine
Т.е. поступило нам 5 запросов. Далее они последовательно обрабатываются. Первый обработался, выкинулся, поток может получить реквест, пока обрабатываются 2-5 запросы, и положить в очередь. После 5 будет уже 6 в обработке, ну и таким хитрым образом очередь всегда будет не пустой. И солнце над этим тиков не зайдет.
источник