Пятница, 22 Ноября 2024, 12:06

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
[РЕШЕНО] YAML или XML ? Конфиги, сохранения
robertonoДата: Четверг, 15 Августа 2013, 01:20 | Сообщение # 1
Чокнутый Кот
Сейчас нет на сайте
Что лучше использовать для сохранения огромного количества переменных ? XML или YAML ? Чем легче пользоваться? И чем они отличаются ? Мне кажется, визуально - абсолютно ничем! Я прав?

Сообщение отредактировал robertono - Суббота, 17 Августа 2013, 23:11
PoqXertДата: Четверг, 15 Августа 2013, 03:43 | Сообщение # 2
постоянный участник
Сейчас нет на сайте
Преимущества XML:

1. Для XML уже существуют готовые парсеры;

2. Можно применять стандартные действия, например, XSLT-преобразования;

Недостатки XML:

1. Документы на XML неудобны для восприятия человеком. (И не надо, чтобы игрок конфиги читал)

2. Документы на XML занимают больше места.

Преимущества YAML:

1. Удобны для чтения и редактирования человеком;

2. Занимают мало места;

Недостатки YAML:

1. Приходится писать собственный парсер.

2. Для каждого нового типа элемента приходится придумывать собственную синтаксическую конструкцию и реализовывать её в парсере.

3. Нельзя применять стандартные преобразования.

4. Нельзя создавать составные документы.


Расширения для Unity3D
Блог программиста - PoqXert.ru


Сообщение отредактировал PoqXert - Четверг, 15 Августа 2013, 03:44
Dash_RavoДата: Четверг, 15 Августа 2013, 09:12 | Сообщение # 3
частый гость
Сейчас нет на сайте
Самый быстрый путь - знакомый путь. Просто бери, что лучше знаешь. Кое-где потанцуешь с бубном, в любом случае это сделать придется, так что тут выбирать из "делать и кое-где помучиться" и "делать и кое-где помучиться"
VinchensooДата: Четверг, 15 Августа 2013, 09:17 | Сообщение # 4
Злобный социопат с комплексом Бога
Сейчас нет на сайте
Цитата (PoqXert)
1. Приходится писать собственный парсер.

Да есть уже все, даж на википедии лежит.

Бери xml. Зачем что-то придумывать?

Если количество данных сильно большое и нужно, чтобы они обрабатывались сильно быстро, то лучше использовать какой-нить бинарный формат хранения, а не текстовый.


AlastarДата: Четверг, 15 Августа 2013, 10:18 | Сообщение # 5
постоянный участник
Сейчас нет на сайте
Создай класс Save, запихни в него все, что тебе нужно сохранить, и сериализуй в бинарник! Профит!

Big Boobs (+18 only!)
afrokickДата: Четверг, 15 Августа 2013, 11:44 | Сообщение # 6
участник
Сейчас нет на сайте
Цитата (robertono)
Что лучше использовать для сохранения огромного количества переменных ?

Цитата (Alastar)
Создай класс Save, запихни в него все, что тебе нужно сохранить, и сериализуй в бинарник! Профит!


Это первый вариант, второй - json. XMl для большого количества данных очень "тяжелый". Для json есть готовые парсеры.
robertonoДата: Четверг, 15 Августа 2013, 12:02 | Сообщение # 7
Чокнутый Кот
Сейчас нет на сайте
Ну тогда буду использовать xml , так как он мне хорошо знаком и мне просто с ним работать smile
VinchensooДата: Четверг, 15 Августа 2013, 12:05 | Сообщение # 8
Злобный социопат с комплексом Бога
Сейчас нет на сайте
Цитата (afrokick)
Это первый вариант, второй - json. XMl для большого количества данных очень "тяжелый". Для json есть готовые парсеры.

Он тоже текстовый. Все зависит от ситуации, что и когда использовать.


robertonoДата: Четверг, 15 Августа 2013, 12:14 | Сообщение # 9
Чокнутый Кот
Сейчас нет на сайте
Я забыл, в C# да и вообще в .net была какая то штука которая позволяла работать легко с xml. Состояла из 3 - 4 букв. Может кто помнит ? smile
ArchidoДата: Четверг, 15 Августа 2013, 12:32 | Сообщение # 10
Сэнсэй
Сейчас нет на сайте
Текстовые удобны и полезны в случаях, когда нужно либо видеть хранящуюся там информацию (для дебага), либо когда (или вместе с первым "либо") нужно иметь возможность быстро править тамошние данные безо всяких доп. тулзов. В большинстве остальных случаев - это оверхед как по памяти, так и по скорости доступа.

При разработке, конечно, их удобно использовать для "настройки игровых параметров" таки в небольших количествах, но перед продакшеном их, как правило, пересохраняют в бинарник. И почти всегда это xml.


C++ - он особенный. С помощью него можно не только выстрелить себе в ногу, но и повеситься в пустой комнате:)
VinchensooДата: Четверг, 15 Августа 2013, 12:48 | Сообщение # 11
Злобный социопат с комплексом Бога
Сейчас нет на сайте
Цитата (robertono)
Я забыл, в C# да и вообще в .net была какая то штука которая позволяла работать легко с xml. Состояла из 3 - 4 букв. Может кто помнит ?

LINQ. Xml- лишь часть возможностей.
Цитата (Archido)
Текстовые удобны и полезны в случаях, когда нужно либо видеть хранящуюся там информацию (для дебага), либо когда (или вместе с первым "либо") нужно иметь возможность быстро править тамошние данные безо всяких доп. тулзов. В большинстве остальных случаев - это оверхед как по памяти, так и по скорости доступа.

Иногда геймдизайнеры просят xml, чтобы конфигурировать игровую логику без знаний программирования, кстати.
Но чаще всего это именно конфиги. Т.е. вещи, которые вычитываются 1 раз при старте сервера, а дальше уже хранятся в виде объектов в памяти.
Тогда на накладные расходы можно забить, нет разницы, 9 секунд запускается сервер или 10. smile


smoke_waterДата: Среда, 11 Сентября 2013, 15:31 | Сообщение # 12
был не раз
Сейчас нет на сайте
лучше всего xml

Час це вода.:)
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг