Board.KolibriOS.org
http://board.kolibrios.org/

Опять про X и Linux
http://board.kolibrios.org/viewtopic.php?f=36&t=1820
Page 1 of 5

Author:  maximYCH [ Sun Aug 07, 2011 5:57 pm ]
Post subject:  Опять про X и Linux

Quote:
[ядерный]

Насколько я помню, были стремления вынести графическую подсистему из ядра, а не вбухивать в ядро ещё больше всего и вся.

Author:  art_zh [ Sun Aug 07, 2011 9:12 pm ]
Post subject:  Re: Масштабируемые шрифты

maximYCH wrote:
Насколько я помню, были стремления вынести графическую подсистему из ядра, а не вбухивать в ядро ещё больше всего и вся.

Стремления у кого-то, как мне припоминается, были. А ядерные GUI-функции и ныне там.
И работают они очень шустро именно потому, что они ядерные.
Может кто знает как их заставить крутиться еще быстрее, но при этом вынуть GUI-код из ядра? -- я не знаю !!
А вот как их упорядочить, ускорить и уменьшить, оставив в ядре - это достаточно понятно.

Author:  maximYCH [ Mon Aug 08, 2011 9:49 am ]
Post subject:  Re: Масштабируемые шрифты

А я расскажу, как сделать. Точнее об этом когда-то говорил diamond, я просто повторюсь.
С какой стати ЯДРО проверяет необходимость обработать в каждой подсистеме (я про osloop), а не имеет буфер, в который любой драйвер может отправить запрос на обработку? Ведь по факту, если в остальных подсистемах ничего не произошло, кроме графической подсистемы, то графика ждет, пока ядро проверит наличие действий на обработку в каждой подсистеме, вместо того, чтобы сразу сообщения от гр. подсистемы было обработано?
--> нужно выносить подсистемы в драйвера
--> нужно переписывать драйверную модель и в osloop проверять только наличие новых сообщений в буфере на обработку событий.

Author:  art_zh [ Mon Aug 08, 2011 12:42 pm ]
Post subject:  Re: Масштабируемые шрифты

maximYCH wrote:
А я расскажу, как сделать. Точнее об этом когда-то говорил diamond, я просто повторюсь.
С какой стати ЯДРО проверяет необходимость обработать в каждой подсистеме (я про osloop), а не имеет буфер, в который любой драйвер может отправить запрос на обработку?

Osloop-то здесь при чем ?
Для справки: ядро сейчас отрабатывает отдельные GUI-запросы индивидуально, через системный сервис int40h. (функции 1,4,7,13-15,35-39,47,48,50,61 и 65)
Все понимают, что это неэффективная трата ресурсов. Но оно работает, причем быстрее чем Винда с аппаратным ускорителем.
Может ли оно работать еще быстрее? - да, может.

Буфер GUI-запросов был бы очень полезен. Только лучше говорить не о буфере, а о метафайле, который у каждого окна будет свой. Изменения, вносимые программой в этот метафайл, будут отражаться в изменении оконного интерфейса в следующий квант времени.
Тот же буфер, только гибче.
maximYCH wrote:
Ведь по факту, если в остальных подсистемах ничего не произошло, кроме графической подсистемы, то графика ждет, пока ядро проверит наличие действий на обработку в каждой подсистеме, вместо того, чтобы сразу сообщения от гр. подсистемы было обработано?
Вот в этом словоизвержении я нифига не понял: ты это про что и вместо чего?
maximYCH wrote:
--> нужно выносить подсистемы в драйвера
А можно и не выносить.
Смотря какие подсистемы, и зачем.
maximYCH wrote:
--> нужно переписывать драйверную модель и в osloop проверять только наличие новых сообщений в буфере на обработку событий.
При чем здесь драйверная модель вообще :?:
Сейчас osloop графикой вообще не занимается (мышиная возня не в счет).
Ты его хочешь подключить к обработке очередей GUI-запросов.
И это будет "вынос GUI из ядра" ?!.

Author:  maximYCH [ Mon Aug 08, 2011 1:28 pm ]
Post subject:  Re: Масштабируемые шрифты

Quote:
Ты его хочешь подключить к обработке очередей GUI-запросов.
И это будет "вынос GUI из ядра" ?!.

Вынести GUI из ядра для меня равносильно вынести ВСЕ что касается графики и оконной подсистемы в связку драйвера+библиотеки и освободить ядро от знания того, что есть графика и окна.

Author:  Mario [ Mon Aug 08, 2011 1:37 pm ]
Post subject:  Re: Масштабируемые шрифты

Максим, а давай ты сам возьмешь и вынесешь? Прямо вот так своими собственными пальцами в текстовом редакторе? Это же не сложно, не сложней чем комментарии на IT ресурсах писать. Мы не возражаем - честное пионерское (меня в пионеры принимали и я не выходил из организации сам)! Давай уже начинай! Такой умный и креативный человек и чего зря время теряешь?

Author:  Serge [ Mon Aug 08, 2011 1:57 pm ]
Post subject:  Re: Масштабируемые шрифты

По сути maximYCH прав. Разговор давно шёл о том чтобы вынести код оконной системы в отдельный модуль. А то сейчас там слишком всё перемешано.

Author:  art_zh [ Mon Aug 08, 2011 2:22 pm ]
Post subject:  Re: Масштабируемые шрифты

Serge
Не надо все валить в одну кучу - оконный менеджер, GUI и тут еще и osloop откуда-то приперся.

Оконный интерфейс имхо более-менее компактно лежит в window.inc, а его интерактивная часть - в mouse.inc.
GUI на 70% оформлена в VESA20.inc, плюс небольшой кусочек в kernel.asm; шрифты - там где им положено.

Настоящая мешанина - в сисфункциях GUI, так уж исторически сложилось. И еще экранная карта у нас проверяется в 20 разных местах, везде с одной целью и везде по-своему. Потому что всем проще перемножить X на Y, чем вызывать единообразную процедуру как положено.

Разобраться во всем этом добре и привести его в порядок не так уж сложно. Гораздо проще, чем городить новый огород.

Author:  Serge [ Mon Aug 08, 2011 2:55 pm ]
Post subject:  Re: Масштабируемые шрифты

art_zh
Компактность эта очень условна. Структуры потоков, окон и планировщика перемешаны. Данные размазаны по всей памяти. Посмотри для примера старое определение twdw.

Author:  art_zh [ Mon Aug 08, 2011 3:17 pm ]
Post subject:  Re: Масштабируемые шрифты

Serge
"Чем этих отмыть - легче новых нарожать" - так, что ли?

Author:  Mario [ Mon Aug 08, 2011 3:29 pm ]
Post subject:  Re: Масштабируемые шрифты

Мне так кажется продолжение спора в таком русле будет мягко говоря неконструктивным. Колибри отличается умом и сообразительностью полной свободой самовыражения авторов. Каждый может делать свой вариант, а уже потом будет видно у кого лучше и стоит ли овчинка выделки.

Author:  art_zh [ Mon Aug 08, 2011 3:50 pm ]
Post subject:  Re: Масштабируемые шрифты

Mario
При всей свободе самовыражения, существует некая генеральная линия, с которой (как потом оказывается) "все согласились".

"Все согласились, что GUI надо выносить из ядра".
- я не соглашался.

Систему (ядро+драйверы+структуры данных) надо делать компактнее, надежнее и быстрее.
Вынос GUI может привести совсем в другую сторону.

Author:  s1n [ Mon Aug 08, 2011 4:45 pm ]
Post subject:  Re: Масштабируемые шрифты

Вынести гуй и переписать его на Си. ^__^

Author:  Serge [ Mon Aug 08, 2011 4:48 pm ]
Post subject:  Re: Масштабируемые шрифты

art_zh
Quote:
"Чем этих отмыть - легче новых нарожать" - так, что ли?
Таки да. Некоторым товарищам GUI вообще не нужно. Разговор шел о том, что если вносить серьёзные изменения в диспетчер окон -
  • произвольное количество окон
  • отрисовка элементов GUI в user-mode
  • отрисовка в битмап
  • использование акселерации
  • тайловая архитектура
  • композитный менеджер
то желательно сделать всё это в виде отдельного модуля. Это пойдёт на пользу как ядру так и менеджеру. Делать это (отдельный модуль) просто ради "шоб було" не зачем.

Author:  johnfound [ Mon Aug 08, 2011 5:05 pm ]
Post subject:  Re: Масштабируемые шрифты

А можно заменить ядро на Линукс и использовать X сервер как нормальные люди. ;) :D

Page 1 of 5 All times are UTC+03:00
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/