Я ищу систематический обзор алгоритмов, используемых для разметки GUI.Мне особенно интересны алгоритмы, которые предпочитают скорость, а не сложность, но трудно найти что-либо полезное, кроме «не использовать ограничения ограничений».
На данный момент лучший из найденных мной способов - это решение с ограничениямидля красивых пользовательских интерфейсов: как решения стратегии поддерживают эстетику макета Клеменса Зейдлера, Кристофа Люттерота и Джеральда Вебера.К сожалению, он очень короткий и не очень конкретный.
Пейзаж алгоритма верстки до сих пор выглядит мне так:
Есть дорогой Cassowary, который пробился толькоповсюду.
Существует модель макета Окленда, которую никто, кажется, не использует, но благодаря ее авторам, являющимся плодовитыми авторами, хорошо известен.
Есть универсально ненавистная комбинация HTML / CSS, которая полностью разрушает первые два, когда дело доходит до макета потока (особенно текстового потока).
Далее идут алгоритмы, используемые в настольных GUI-средах,с WPF больше всего хвалили Qt и MigLayout для Swing.(Я еще не выяснил их характеристики производительности, но я помню, что был разочарован скоростью компоновки WPF по сравнению с WinForms - выигрыш от более быстрого рисования был компенсирован более медленным макетом)
Чем естьнесколько пользовательских интерфейсов игровых движков, о которых никто, кажется, ничего не знает.
Остальные - древние наборы инструментов GUI, которые, как правило, имеют неискушенный контейнер с сеткой в качестве наиболее мощного инструмента макета.
Я что-то пропустил существенное?