> Все оконные системы строятся на механизме посылки сообщений. С точки зрения апликушников - они меньше всего хотят что-либо знать про весь этот кошмар и копаться в нем, предпочитая дерг платформо-нейтральных либ типа GTK или Qt. А вот оным для кроссплатформенности не получится сильно уповать на возможности конкретной графической подсистемы в ущерб остальным. Наверное что-то такое и мотивирует авторов подобных либ не выносить рендер контролов в сервер. Который разный и есть не везде. Пардон, куть или гтк могут в принципе рендерить даже в тупой фреймбуфер если оно надо. А кто такое там графический сервер? А вот софт работает. Иногда это сильно упрощает дизайн систем.
> Поэтому соответствующие примитивы, которые отрисовывает графический движок
> (XServer/GDI/GDI+/...), должны быть достаточно удобны. Удобны - это значит, в типичное приложение отсылает минимум этих
> примитивов на прорисовку.
И получится очередная винда, где все прибито гвоздями. Впрочем и там - разброд и шатания. WPF и WinForms нынче как-то сватают вместо GDI. И это понятно - GDI в чистом виде на редкость невкусная для прикладников штука.
> Поэтому, если набор примитивов выбран правильно, трафик команд от приложения к отрисовщику
> смешной для современных сетей.
Понимаете ли, для вас на гигабитном эзернете он может смешной, а для Васи Пупкина с жпрс - он очень даже серьезный. И какой-нибудь rdp там будет работать не в пример лучше. Хоть оно насколько я понимаю и по сути лишь синхронизация битмапов ремотно и локально путем передачи межкадровой дельты. Тупо, топорно, концептуально кривее. Но в этом мире на практике а не в теории сие работает намного лучше.
> И, соответственно, сетевая прозрачность у вас получается совершенно бесплатно. :-)
Пока как-то не заметно. Я конечно понимаю что проблемы негров шерифа не волнуют, но в случае если негр стал президентом, ситуация меняется на обратную, увы :)
> Лучше всего, конечно, иметь несколько транспортов от приложения к отрисовщику,
Как по мне так это вообще заявка на лишний оверхед.
> умеет отрисовывать только трапеции, поэтому библиотекам Qt/Gtk приходится раскладывать
> свои удобные и хорошие примитивы в трапеции. И слать эти дикие наборы трапеций по сети.
А как насчет быстрого вывода битовых карт оптом, не опционально и сбоку, а сразу и гарантированно? А пересылки только дельты по сети?
> Соответственно, нужно убрать XRender, заменив его на что-то более вменяемое. Типа растеризатора
> QPainter или Cairo.
Никак не адресует проблему с тем что все больше приложений желают эффекты/анимации/хардкорный рендер всего и вся. Например, должна ли читалка PDF вгружать фонты в сервер и заставлять его рендерить это или же нехай сама рендерит? В конечном итоге - все идет к тому что сама рендерит.