при загрузке готового конфига, он загружается весь? Немного не так. При загрузке конфига самим XVM, конфиг целиком загружается?
если весь - зачем ему "кормить" дефолтные значения? ведь после редактирования конфига в него добавяляются все значения.
к примеру: берем конфиг \xvm-doc\samples\User configs\Yoyo117\XVM.xvmconf (6 151 байт). загружаем его в редактор. ничего не меняем. сохраняем и получаем аж 73 618 байт.
каждый раз при загрузке конфига он читается полностью. зачем перечитывать 67 467 байт каждый раз, ведь в них никакой полезной информации нет?
вопрос: зачем читать дефолтные значения? нельзя ли их опускать при сохранении конфига в редакторе?
как минимальный алгоритм можно применить следующее:
к объектам формы добавить свойство "block_changed" типа bool, если загружаемый и редактируемый конфиг не вносят изменений в стандартный - block_changed=false и блок конфига не выгружается/пропускается. Если хоть одно из значений изменилось (позиция/цвет или любое свойство объектов, задаваемое формой редактора), то ставим block_changed=true и выгружаем измененный кусок конфига.
честно, бросается в глаза разница конфигов 6кб и 71кб, хотя по сути они идентичны.