Telegram Group & Telegram Channel
Forwarded from Game journalist Tycoon (Andrei Apanasik (Balancy))
И меня опять поразила болезнь велосипедостроения — решил простенький модуль для Dependency Injection запилить. В целом, там не то, чтоб для базовых вещей много чего сделать надо. Простейших биндингов и [Inject] атрибута уже хватило бы. Но потом добавляются фабрики, спавн префабов, отложенная инициализация...В итоге после пары дней решил, всё же, взять готовое.

Из чего выбирал:
1. По классике Zenject. Но он какой-то мёртвый. Не знаю, есть ли какой-то живой форк, но мне в Зенжекте всегда не нравилась монструозность. А потыкав код, сам убедился, что они что-то там с рефлексией перемудрили уж слишком. Плюс памяти оно лишней аллоцирует немало. Из интересного: там пулы используются даже для внутренних служебных задач, что весьма круто.
2. Reflex. Выглядит неплохо, поддерживается. Код в целом намного проще Зенжекта, всё также есть различные контексты: Проект -> сцена -> другие сцены.
3. Победил VContainer. Мелкий, быстрый и памяти меньше остальных выделяет (по словами автора). Покрывает вроде как большую часть хотелок. Код несложный, в случае чего форкну и допилю под себя. Единственный минус пока что в том, что не умеет из коробки [Inject] резолвить на монобехах на сцене. Приходится явно для всех указывать builder.RegisterComponentInHierarchy<Office>(). В принципе, ничего не мешает пробежать по сцене и проверить монобехи на аттрибут field.GetCustomAttributes, но это, всё же, будет весьма медленно для жирных сцен с кучей вложенных объектов. Ну и круто, что, если нужно будет выжать перфоманс, можно прикрутить Roslyn Source Generator для сорсгена.



group-telegram.com/gamedev_suffering/2651
Create:
Last Update:

И меня опять поразила болезнь велосипедостроения — решил простенький модуль для Dependency Injection запилить. В целом, там не то, чтоб для базовых вещей много чего сделать надо. Простейших биндингов и [Inject] атрибута уже хватило бы. Но потом добавляются фабрики, спавн префабов, отложенная инициализация...В итоге после пары дней решил, всё же, взять готовое.

Из чего выбирал:
1. По классике Zenject. Но он какой-то мёртвый. Не знаю, есть ли какой-то живой форк, но мне в Зенжекте всегда не нравилась монструозность. А потыкав код, сам убедился, что они что-то там с рефлексией перемудрили уж слишком. Плюс памяти оно лишней аллоцирует немало. Из интересного: там пулы используются даже для внутренних служебных задач, что весьма круто.
2. Reflex. Выглядит неплохо, поддерживается. Код в целом намного проще Зенжекта, всё также есть различные контексты: Проект -> сцена -> другие сцены.
3. Победил VContainer. Мелкий, быстрый и памяти меньше остальных выделяет (по словами автора). Покрывает вроде как большую часть хотелок. Код несложный, в случае чего форкну и допилю под себя. Единственный минус пока что в том, что не умеет из коробки [Inject] резолвить на монобехах на сцене. Приходится явно для всех указывать builder.RegisterComponentInHierarchy<Office>(). В принципе, ничего не мешает пробежать по сцене и проверить монобехи на аттрибут field.GetCustomAttributes, но это, всё же, будет весьма медленно для жирных сцен с кучей вложенных объектов. Ну и круто, что, если нужно будет выжать перфоманс, можно прикрутить Roslyn Source Generator для сорсгена.

BY Gamedev suffering





Share with your friend now:
group-telegram.com/gamedev_suffering/2651

View MORE
Open in Telegram


Telegram | DID YOU KNOW?

Date: |

The news also helped traders look past another report showing decades-high inflation and shake off some of the volatility from recent sessions. The Bureau of Labor Statistics' February Consumer Price Index (CPI) this week showed another surge in prices even before Russia escalated its attacks in Ukraine. The headline CPI — soaring 7.9% over last year — underscored the sticky inflationary pressures reverberating across the U.S. economy, with everything from groceries to rents and airline fares getting more expensive for everyday consumers. The gold standard of encryption, known as end-to-end encryption, where only the sender and person who receives the message are able to see it, is available on Telegram only when the Secret Chat function is enabled. Voice and video calls are also completely encrypted. Official government accounts have also spread fake fact checks. An official Twitter account for the Russia diplomatic mission in Geneva shared a fake debunking video claiming without evidence that "Western and Ukrainian media are creating thousands of fake news on Russia every day." The video, which has amassed almost 30,000 views, offered a "how-to" spot misinformation. I want a secure messaging app, should I use Telegram? He said that since his platform does not have the capacity to check all channels, it may restrict some in Russia and Ukraine "for the duration of the conflict," but then reversed course hours later after many users complained that Telegram was an important source of information.
from us


Telegram Gamedev suffering
FROM American