The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Проблемы X11 и их решения в Wayland "
Отправлено Аноним, 11-Июн-13 11:56 
> и виноваты именно иксы? именно на архитектурном уровне? не подскажешь, почему именно?

1) Потому что выжрали какое-то совершенно невменяемое количество ресурсов без очевидной на то причины. Судя по всему оверхед какой-то безобидной на вид операции зашкалил за разумные пределы.
2) Потому что при этом они уперлись в 1 ядро проца, это залимитировало скорость всех операций с графикой в системе. До уровня "1 кадр в секунду по всей системе" O_o. Системой при этом пользоваться невозможно. То-есть, программе достаточно сделать что-то неидеально и графика помрет во всей системе. До состояния когда не факт что получится вообще просто выйти из этой программы без жутких мучений.
3) Кстати, ядер в системе было целых восемь, еще 7 ядер курили бамбук вместе с пользователем ффтыкающим на все это безобразие.
4) Потому что при этом встает колом графика вообще по всей системе. Вот это уже хорошая заявка на defective by design.

Если все упирается в 100% загрузку иксовым процессом 1 ядра проца (больше иксы не умеют :P), которое ушло в turbo boost и даже при этом графика дерганая как пц - ну как бы двух выводов тут быть не может. Иксы просто облажались с выполнением запрошенных операций рендеринга, да еще в масштабе когда возник system-wide аут графики. Т.е. пока впахивает программа - во всей системе картинка выводится едва ли раз в секунду. Что делает работу с системой не слишком пресной.

ЗЫ я бы попробовал их отпрофайлить, посмотрев где оно так эпично уткнулось более точно, но попытки профайлить или трассировать иксовый процесс зарекомендовали себя редкостным запрыгом по граблям.

> только без общих слов, пожалуйста, с конкретикой: «вот такой кусок протокола
> используется, должен бы работать так, а работает эдак, вот пример, который
> показывает, что это проблема архитектуры, а вовсе не баг в X.Org».

А при попытке вычислить где оно так зверски тормозит - при запуске профайлера на иксовом процессе случается факап. Наиболее очевидные методы отпрофайлить или протрассировать заср@нца наиболее очевидным методом - не прокатили. Хотя у меня хватало ума не юзать ничего прерывающего выполнение иксов надолго. Все-равно факап почему-то случается.

Мне самому любопытно где оно так феерически тупит, но надо сначала придумать как это относительно культурно и безопасно запрофайлить. Для начала я попробую одну вещицу попроще - посмотреть как это себя ведет на совсем другой системе с другими графическими драйверами и GPU, например.

> а то, знаешь ли, я лет шесть или семь назад ронял winxp
> в BSOD при помощи простого чтения символа с консоли стандартным апи,

Так я вроде и не говорил что мне нравится винда или BSODы. Мне не нравятся факапы и тормоза. Независимо от того в какой ОС это происходит. Конкретно в винде мне не нравится и много чего еще.

> была не архитектурная проблема (не будем обсуждать внесение графики в ring0:

А тем не менее, внос большого куска GDI в ядро им как-то раз воздался эпичным эксплойтом в анимированных курсорах, прошибающих систему "из браузера - в кернелмод". Все-таки имхо в ядре должны быть только самые базовые операции. А выносок GDI на 2+ метра ядерного кода - хорошая заявка на проблему.

> иксы вон от рута работают и могут дел натворить не сильно
> меньше), а просто пара тупых багов в реализации.

Вверху я описал несколко моментов которые я полагаю достаточно базовыми проблемами этого дизайна.

По факту я вижу 2 подхода когда произвольная программа не сможет безбашенными действиями положить графику:
- Можно сгородить навороченный планировщик ресурсов и лимитацию. Будет феерически сложный костыль но проблему решить может.
- А можно просто выпихнуть все длительные операции на сами программы и их либы. А графическая система может быть простой и быстрой, где логически и физически нечему тормозить, вплоть до выплевывания полноразмерной картинки на нативном разрешении монитора.

Мне второй вариант видится логичнее и намного проще/безглючнее/потенциально дуракоустойчивее. И хорошо укладывающимся на фактическое состояние дел, когда программы и их тулкиты все-равно все сами рендерят. Сломать титановый шарик в отличие от хрустального может только особо выдающийся индивид. Вот что-что а тормоза 1 процесса (в его тулките или где там еще) пока он там впахивает по рендерингу - меня напрягут сильно меньше чем system-wide клин графики. При клине 1 процесса я чертыхаюсь на кривость программы. При клине всей графики в системе я чертыхаюсь на то что система превратиласт в тыкву^W винду 3.1 :)

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру