Content Pipeline в MonoGame: почему я его не использую
rds1983 5 минут назад Content Pipeline в MonoGame: почему я его не использую 3 мин 16 .NET * C# * Разработка игр * Мнение ВведениеContent Pipeline — это официальный способ работы с ассетами в MonoGame. Однако в...
В сфере искусственного интеллекта произошло заметное событие. rds1983 5 минут назад Content Pipeline в MonoGame: почему я его не использую 3 мин 16 . NET * C# * Разработка игр * Мнение ВведениеContent Pipeline — это официальный способ работы с ассетами в MonoGame. Однако в сообществе уже давно существует немалая группа разработчиков, которые его не любят и предпочитают загружать ассеты в «сыром» виде.
Особенно это заметно в сообществе FNA(ещё одной реализации XNA4) — там такой подход используют практически все. Я тоже давно в этой «партии» и в этой статье объясню, почему. Сначала разберём реальные преимущества Content Pipeline, потом главный недостаток, а в конце — какие альтернативы есть на практике.
Технические детали
Плюсы Content Pipeline1. Скорость загрузкиАссеты после обработки через Content Pipeline сохраняются в оптимизированном бинарном формате (. Они уже прошли все необходимые преобразования (например, premultiplied alpha для текстур), поэтому загружаются очень быстро.
Однако для большинства инди-проектов этот плюс сильно переоценён. На современном железе даже большие наборы ассетов загружаются практически мгновенно — с обработкой или без неё. К тому же, если нужна максимальная скорость, можно просто заранее сконвертировать текстуры в актуальные форматы (DDS, KTX, Basis Universal) с помощью ImageMagick или других инструментов.
Защита ассетовНекоторым разработчикам важно, чтобы ассеты было сложнее украсть. В этом плане XNB-файлы действительно чуть лучше, чем обычные PNG или WAV. Но стоит признать: при наличии минимальных навыков программирования вытащить ассеты из .
Отраслевые последствия
Сверх того, у защиты ассетов есть обратная сторона — чем сильнее «защита», тем сложнее игрокам делать моды. Оптимизация под платформыContent Pipeline автоматически подбирает оптимальный формат сжатия под целевую платформу (напр. для картинок это DXT, PVRTC, ETC и т.
Этот пункт действительно актуален и здесь сложно спорить. Главный недостатокНесмотря на все плюсы, базовых возможностей Content Pipeline обычно не хватает даже для простых игр. Например, в нём нет встроенной поддержки текстурных атласов.
А если вам нужно добавить поддержку нового типа ассетов, придётся делать полноценный конвейер:Importer — загрузка ассета во внутренний объектProcessor — обработка (premultiply, сжатие и т. )Writer — сохранение в . xnb форматReader — загрузка из .
Событие, по словам экспертов, усилит конкуренцию в сфере ИИ.





