> полностью убить работу на одноядерной системе: Вообще-то она жрет 1 ядро, НО заметьте, даже на 1-ядерной системе система при запуске этой программы останется полностью юзабельной. При условии что это нормальная многозадачка. Ха-ха, you FAIL. Почитайте на досуге что такое планировщик времени процессора.
> из этого можно сделать вывод, что любая ОС, ээ.. очень кривая по дизайну,
Э нет, чувак. В нормальной ОС данная программа не вешашет систему. Для того чтобы она ее повесила - надо ее переделать в как минимум золнамеренную форкбомбу. А 1 или даже несколько копий программы нормальную многозадачку не завалят до состояния неюзабельности.
Хотя, конечно, если у вас win 3.1 - там да, при запуске подобной программы вся система встанет р#ком из-за кооперативной многозадачности. Но времена таких уродцев в роли ОС давно закончились. Современные многозадачки обладают преэмптивным шедулингом процессов и ... вы только подумайте, планировщик ОС может запросто прервать выполнение такой проги, забыв спросить их мнение на этот счет, прикинуть что пора дать поработать другим и пустить других. Поэтому система нифига не виснет. Проц нагружается, но ОС продолжает оставаться полностью работоспособной.
> дело вовсе даже и не в X-ах, а в Вашей программе,
Понимаете ли, упомянутая вами программа не ведет к отказу ОС. Система может быть станет работать немного медленнее, но останется вполне управляемой. Если это не так - да, плохо работать в однозадачном DOS, никто не спорит :)
> которая оригинальным образом скролит графику..
Опять же - поскольку упомянутая вами программа положит только DOS, а в нормальных системах планировщик времени CPU вполне себе поделит время согласно приоритетам - никаких особых проблем как раз не будет. Так что все это - левый булшит не по делу.
А иксы мало того что уперлись в 1 ядро (когда их 8!). Мало того что они жрут невменяемое количество ресурсов на операции рендеринга, которые запросила программа. Так там еще и никакой планировки нет, так что "хорошее" поведение - добрая воля программ. Добро пожаловать в винду 3.1 с кооперативной планировкой задач: покуда программы "хорошо" себя ведут - система работает. А как попалась программа типа вашей, винда 3.1 заглыхает. По поводу чего все современные многозадачки и применяют вытесняющую многозадачность, где шедулер времени проца делит его между задачами не спрашивая у задач их мнение на этот счет, так что оным становится намного сложнее монопольно узурпировать CPU.
Более того - в совсем современных системах встроены (вы только подумайте!) продвинутые механизмы дележа и лимитирования ресурсов, типа cgroups в лине. Так что даже откровенно вредительское поведение может лимитироваться в плане его влияния на остальные части системы и других пользователей. Прикиньте какие навороты? А в графической системе - до сих пор а-ля винда 3.1, что как-то не комильфо.
> Далее, Вы наверное не поверите, но 2D частный случай 3D, с координатой
> Z=0, соответственно оно ни капли не более ресурсоёмкое.
Логика подсказывает мне что работать с 3-я координатами сложнее чем с 2-я.
> сокеты, а то и вовсе разделяемая память),
При том, чтобы скорость работы всего этого барахла была бы сколь-нибудь вменяемой, нужна именно shared память. А это...
1) Не является прозрачным в плане сети.
2) Это ОПЦИОНАЛЬНОЕ расширение, програмер должен явно изогнуться буквой зю, задетектировать что это есть и заюзать его. Предусмотрев fallback на случай если этого нет.
Все это делает написание апликух которые не тормозят при работе с иксами каким-то подвидом рокетсайнса, доступным немногим. Так быть просто не должно.
> соответственно, лично в Вашем случае никак Вам не мешает.
Я и вижу - клин меню ВСЕХ программ, перерисовка экрана раз в секунду, прыжки мыши и прочая мне "совсем не мешают" пользоваться системой. Правда, мне приходится курить бамбук пока софтина не проерендерит карту и не отпустит иксы. Многозадачность, итить. Как в вин 3.1 :). Интересно, кстати, положит ли оно такое хорошее многоюзеровский терминальый сервер на основе иксов до такого же терминального состояния у вообще всех кто там висит графика будет раз в секунду рефрещиться? :)
> Ну и последнее, есть подозрение, что для упрощения своей работы Qt и
> GTK просто не пользуются теми возможностями, которые предоставляют X-ы,
Вы знаете, обычно если некто не пользуется иксовыми возможностями и рендерит сам - при этом тормозит как раз его собственный процесс. И вот это еще куда ни шло бы. Но в данном случае похоже что таки какая-то возможность иксов поюзалась и иксы сделали при этом то что обычно - облажались. Так что в это дело все и уперлось в результате. В иксы. А вот это уже довольно фатально, поскольку графика встает колом по всей системе. И становится проблемно пользоваться "системой вообще", навевая воспоминания о чудных виндах 3.1 :)