И внезапно, есть "магическое" решение для таких ситуаций, если вместо Task.Run использовать Nito.AsyncEx с его AsyncContext.Run, т.к. он тоже не создаст задачку в тредпуле (как я помню).
Была какая то проблема с таймаутами в нагрузке, которую так коллеги порешали. Я пытался узнать, за счёт чего это работает, но мне не смогли ответить (либо я не нашел тех кто был в курсе). Вполне возможно, что у статьи ровно та проблема, которую так решили =)
А можно деталей или ссылок где почитать, почему это проблема? Во всех легаси проектах такого полно, RPS-ы они как то держат, про проблему услышал впервые. Вроде дотнет более-менее знаю, асинхронный апи писал и дебажил, но не понял почему проблема появляется.
Ближайшая аналогия, которая пришла в голову - это стандартное сравнение, которое было при появлении async-await. Что-то на тему "у вас 4 ядра, и на 100 рпс вы упретесь в них, т.к. синхронно ждёте ответа. А на async-await потоки будут переиспользоваться и упретесь вы на ~150". Это я понимаю, но там нет никаких Hill-climbing, там механически "свободные" потоки имеются и цпу действительно свободен.
ПС: я понимаю, что на больших RPS это действительно может быть проблемой, просто не сталкивался и хочется почитать ещё.
Какой автор? Автор изменений в случае описанном в статье может оказаться человеком, не готовым делать реальную работу кроме запуска ИИ. Если он готов делать работу - отлично, всё сработало как задумано. Если не готов - мерж закрыт, никто не пострадал.
Какая собака на сене? Собака на сене - это когда и самой собаке не надо и остальным она не даёт. А тут "собаке" надо, она где ей надо - продает. Хотите продавать в америке - займитесь этим, организуйте, свяжитесь с производителем.
Что-то никто так не работает. Ни книги, ни фильмы, ни игры, ни софт.
Уточню тогда уж, а что помешает скачать бесплатно под впн-ом? Зачем тогда хоть кому-то платить? Ну или ладно, в отпуск съездить, даже без впн-а обойдемся.
Я начал работать с шарпом лет 10 назад, тогда основными версиями были 4.0 и 4.5
С тех пор шарп у нас перешел на неткор, и там любую лтс версию можно называть и не ошибиться (6-8-10).
Если же вопрос внезапно про версии языка как такового, то я бы тоже завалился на вопросе, потому что языковые изменения незначительные и специфику новых конструкций редко использую, так что 5 версия наверно достаточна мне в 99% случаев, а актуальная где то на 12-14 версиях.
Нет интеграции с юплеем, в отличие от 6-7 частей (или как сейчас называется лаунчер юбисофт)
В стиме легко пригласить друга, не то чтобы прямо "имба", но удобно
Живой дискорд с разработчиками
Из минусов
Как уже упомянуто в статье - музыка не вызывает сильных эмоций. Некоторые мелодии на уровне "о, знакомая мелодия", некоторые просто не замечаешь. Это и плюс, что они неплохи, и минус, до уровня старых частей не дотягивает (имхо).
Мне лично очень тяжело высматривать ресурсы на карте. Ресурсы, постройки, свитки - всё сливается в кашу. Я потыкал настройки, сделал лучше, но всё равно каша.
В целом для меня как обычного игрока - здорово. Можно весело покатать против бота, можно сыграть против друга. Команд пока нет, нельзя сыграть с другом против кого-то, но это просто не сделали ещё, ранний доступ как он есть.
Ещё раз, если РКН решит что надо заблокировать - то он заблокирует. Стим на данный момент удаляет всё что не нравится РКН, но напомню что например рутрекер это не спасло. Если у вас есть хорошие предложения - я бы послушал, потому что кроме как страдать у меня вариантов нет.
Реклама пиратского софта уже пошла от информ службы Хабра :=(
И внезапно, есть "магическое" решение для таких ситуаций, если вместо Task.Run использовать Nito.AsyncEx с его
AsyncContext.Run, т.к. он тоже не создаст задачку в тредпуле (как я помню).Была какая то проблема с таймаутами в нагрузке, которую так коллеги порешали. Я пытался узнать, за счёт чего это работает, но мне не смогли ответить (либо я не нашел тех кто был в курсе). Вполне возможно, что у статьи ровно та проблема, которую так решили =)
А можно деталей или ссылок где почитать, почему это проблема? Во всех легаси проектах такого полно, RPS-ы они как то держат, про проблему услышал впервые. Вроде дотнет более-менее знаю, асинхронный апи писал и дебажил, но не понял почему проблема появляется.
Ближайшая аналогия, которая пришла в голову - это стандартное сравнение, которое было при появлении async-await. Что-то на тему "у вас 4 ядра, и на 100 рпс вы упретесь в них, т.к. синхронно ждёте ответа. А на async-await потоки будут переиспользоваться и упретесь вы на ~150". Это я понимаю, но там нет никаких Hill-climbing, там механически "свободные" потоки имеются и цпу действительно свободен.
ПС: я понимаю, что на больших RPS это действительно может быть проблемой, просто не сталкивался и хочется почитать ещё.
Если нужен "безопасный" рандом, то посмотрите в RandomNumberGenerator.Create, он точно лучше, чем самописные решения.
Если нужен повторяемый рандом (для тестирования, например) то обычный Random всё ещё хорош.
Статья в целом непонятна (мне лично) - какую проблему решаем?
Именно это и сделано и описано в статье =)
Какой автор? Автор изменений в случае описанном в статье может оказаться человеком, не готовым делать реальную работу кроме запуска ИИ. Если он готов делать работу - отлично, всё сработало как задумано. Если не готов - мерж закрыт, никто не пострадал.
Занимались ли вы ревью кода?
Нравится ли вам ревьюить код, в котором изменений много (количественно) даже при минимальных решаемых проблемах?
Когда автор изменений не может корректно отреагировать на вопросы и замечания, как ваши ощущения?
Но это же буквально то, о чём новость. Угрожают судом.
Так торренты ровно так же "грозить судом" будут, как в новости, если смогут поймать.
Какая собака на сене? Собака на сене - это когда и самой собаке не надо и остальным она не даёт. А тут "собаке" надо, она где ей надо - продает. Хотите продавать в америке - займитесь этим, организуйте, свяжитесь с производителем.
Что-то никто так не работает. Ни книги, ни фильмы, ни игры, ни софт.
Уточню тогда уж, а что помешает скачать бесплатно под впн-ом? Зачем тогда хоть кому-то платить? Ну или ладно, в отпуск съездить, даже без впн-а обойдемся.
интересный вывод, жаль ни с чем не связан.
Что? Издатель явно говорит "нельзя продавать игру в россии", с чего бы она стала бесплатной?
С чего бы вдруг? Делает японский издатель игру для японии, законы японии соблюдает.
Остальной мир не получил внезапно право на бесплатное использование, издатель этого не разрешил =)
Невозможность купить не означает, что можно пиратить =)
Метроидвании не начались с Metroid. Остальное вычитывать и вдумываться лень.
Потраченного времени жаль
Так, а как с этим вопросом можно провалиться?
Я начал работать с шарпом лет 10 назад, тогда основными версиями были 4.0 и 4.5
С тех пор шарп у нас перешел на неткор, и там любую лтс версию можно называть и не ошибиться (6-8-10).
Если же вопрос внезапно про версии языка как такового, то я бы тоже завалился на вопросе, потому что языковые изменения незначительные и специфику новых конструкций редко использую, так что 5 версия наверно достаточна мне в 99% случаев, а актуальная где то на 12-14 версиях.
Из неочевидных плюсов
Нет интеграции с юплеем, в отличие от 6-7 частей (или как сейчас называется лаунчер юбисофт)
В стиме легко пригласить друга, не то чтобы прямо "имба", но удобно
Живой дискорд с разработчиками
Из минусов
Как уже упомянуто в статье - музыка не вызывает сильных эмоций. Некоторые мелодии на уровне "о, знакомая мелодия", некоторые просто не замечаешь. Это и плюс, что они неплохи, и минус, до уровня старых частей не дотягивает (имхо).
Мне лично очень тяжело высматривать ресурсы на карте. Ресурсы, постройки, свитки - всё сливается в кашу. Я потыкал настройки, сделал лучше, но всё равно каша.
В целом для меня как обычного игрока - здорово. Можно весело покатать против бота, можно сыграть против друга. Команд пока нет, нельзя сыграть с другом против кого-то, но это просто не сделали ещё, ранний доступ как он есть.
Так, а как это к моему комментарию относится?
Ещё раз, если РКН решит что надо заблокировать - то он заблокирует. Стим на данный момент удаляет всё что не нравится РКН, но напомню что например рутрекер это не спасло. Если у вас есть хорошие предложения - я бы послушал, потому что кроме как страдать у меня вариантов нет.