LINUX.ORG.RU

Новая архитектура 2D акселерации для X.Org


0

0

Группа разработчиков QT портировала из KDrive в X.Org, новую архитектуру 2D акселерации KAA (KDrive Acceleration Architecture), более простую и производительную, чем текущая XAA (XFree86 Acceleration Architecture).

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

// перевод opennet

>>> Подробности



Проверено: Demetrio ()

Ответ на: комментарий от alien

> Машинка у тебя явно помощнее 166 пня будет

Мля! В 99-м году на своей первой работе у меня бл P166MMX с 64 метрами памяти и 2-гиговым винтом.

Там стоял RedHat 6.0, Oracle 8.0 (который даже не "i"), на нем работали X-ы 3.3.X, и замечательно запускался WordPerfect. Тогда еще не юзабельный GNOME я заменил на AfterStep. Кроме того, у меня постоянно крутился дос-эмулятор.

> Да и у меня вопрос остался - почему же Windows NT4+SP6 c Офисом ХР работают гораздо быстрее Linux 2.4.22+XFree86 4.3+Icewm+OpenOffice?

Потому что, мля, ядро 2.4.22, XF-4.3, и glibc 2.3 - это уровень 2002-го года, с соответствующими системными требованиями. Если так уж хочется сравнить - ставь на этот гроб XP, и потом сравнивай. Или возьми RH6.0 ... RH6.2, и не гони херню!

> > просто попрошу тебя запустить "парвильную" W2K3 на 64 метрах. И с интересом посмотрю на твои судороги.

> Ты уже просто гонишь. Естественно я не стану этого делать

Тогда некер ставить и без того тормозную сузю, а возьми указанный мною дистрибутив 99-го года и не гони чушь! X-ы ему видите ли "медленные"... Блин, у меня 3-й дум под X-ами идет быстрей чем в виндах, а ему для оффиса "тормозные"...

Ты, кстати, так и не привел ни одной фичи, которая в X-ах не была бы нужна. Или как всегда, нырнешь в кусты и сменишь ник?

no-dashi ★★★★★
()

Ob chem eto vy? GDE, GNOME, X11R6 (da, vse eshe 6)...
Innercia myshlenia? Popsa zavladela umami? Nu-nu...

"WIMP* is dead" - garbeam, http://www.wmii.net

Here's "Do What I Mean", not "WYSIWYG" interface, by Rob:
http://cm.bell-labs.com/sys/doc/8%bd/8%bd.html
http://cm.bell-labs.com/sys/doc/plumb.html
http://cm.bell-labs.com/sys/doc/acme/acme.html
http://r-36.net/screen.html

-- 
* WIMP = Windows, Icons, Mouse and annoying Popups
 - http://en.wikipedia.org/wiki/WIMP_(computing)

McLone
()
Ответ на: комментарий от realloc

> Так же kdrive чудно работает на моём наладоннике

Yes it is faster. But seems not very portable.

Last time i checked, KDrive Xserver used v86 code (VIrtual 86 mode, in Xvesa)

It's hard to port it to, say, BSD.

McLone
()
Ответ на: комментарий от anonymous

> Не тормозит только xterm. Наше все. Ура!

xterm tormozit sekund 5, pri pervom vyzove meniushki (Ctrl+Mouse na prokrutke). X.Org 6.8.2 (202), BSD, LC_ALL=uk_UA.KOI8-U. V /dev/console pishet:

> Warning: Missing charsets in String to FontSet conversion

Da, ja znaju. UTF-8. Izvesten i bok.

McLone
()
Ответ на: комментарий от anonymous

>А текстовый процессор под консоль есть?

kucha. Dovol'no moshnye popadalis'.

> А электронная таблица?

byli vrode. Oni s psevdografiki nachinalis' kak by.

> а хороший редактор графики? а CAD?

shUtite?

> А системы мониторинга реального времени?

etogo dobra hvataet. Curses/SLang... ta eshe ideja. IMHO curses - zlo.

McLone
()
Ответ на: комментарий от ngrechukh

> fluxbox на первом пне? не смеши меня.

dorogusha, u menya p233mmx/64m/2g/Matrox 2m/17''. Fluxbox tormozit nemnogo, OpenBox begaet snosno. Pri nalichii TightVNC i Xvnc, a takzhe udalennogo PowerMac G5, problema grafiki na takom zheleze otpadaet ^_^

Itogo: Pentium - on kak terminal goditsya.

McLone
()
Ответ на: комментарий от edwin

Esli net.inet.ip.fw.one_pass=1, to posle prohozhdenija cherez dummynet'ovskij pipe, paket udaliaetsia iz firewall processing'a. Esli =0, to paket proveriaetsia dal'she.

ipfw shniaga, dlia bol'shoj seti "first match"-fil'try ne podhodiat, IMHO. Koneshno, eto esli mnogo vsiakih "NO" v nalichii.

Ja perelez s IPFilter+dummynet na PF+ALTQ (HFSC scheduler), i ne жужжу.

Da, i eshe. Dummynet - eto _abused_ research project. Eto ne dlia shape'inga trafa, eto tak, podelka na kolene. Uchite istoriju.

McLone
()
Ответ на: комментарий от anonymous

> ls -l | sort -n +4
> Вот это я понимаю :) Вместо одной лишней пукофки - сразу 8 :)
це був отой UNIX-way, синку...

McLone
()
Ответ на: комментарий от anonymous

> "Им, пингвинам, недоступно..." М.Горький, "Песня о буревестнике"

prolivaju slezu umilenija. Spasibo tebe, anonymous. Eto - po-moemu luchyj komment na LORe.

McLone
()

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

tak davno mozhna... iz telnet'a naprimer... tulza nazyvaetsia "ws", shla v komplekte k FileScanner'u [analog file(1)]

http://smf.chat.ru/files/ws.zip (13-Oct-2000, 18k)

McLone
()
Ответ на: комментарий от svu

> так что, если не сложно, можно показать самые вопиющие, на Ваш взгляд, проблемы xlib (да, с учетом того, что под ним находится именно протокол X11, а не что-нибудь еще)?


Я ж говорю - лень мне... :-))

Но, к примеру, какой травы надо обкурицца, чтобы возвращать клиенту указатель на структуру, находящуюся внутри либы, и тут же писать "чувак, ты с ней только напрямую не работай, а то вдруг она c версией изменицца - вот тебе дюжина #define-ов к ней - обращайся только через них". :-))

Ron
()
Ответ на: комментарий от Ron

> Но, к примеру, какой травы надо обкурицца, чтобы возвращать клиенту указатель на структуру, находящуюся внутри либы, и тут же писать "чувак, ты с ней только напрямую не работай, а то вдруг она c версией изменицца - вот тебе дюжина #define-ов к ней - обращайся только через них". :-))

"Имя, сестра, имя!" Что за функция и структура?

svu ★★★★★
()
Ответ на: комментарий от svu

> Что за функция и структура?


Да, вот, прямо самая первая. man XOpenDisplay.

If successful, XOpenDisplay returns a pointer to a Display structure, which is defined in <X11/Xlib.h>. If XOpenDisplay does not succeed, it returns NULL. After a successful call to XOpenDisplay, all of the screens in the display can be used by the client. The screen number specified in the display_name argument is returned by the DefaultScreen macro (or the XDefaultScreen function). You can access elements of the Display and Screen structures only by using the information macros or functions.

Ron
()
Ответ на: комментарий от Ron

Гы-гы. А с виндовыми хэндлами (кторые суть указатели на структуры) значит так поступать можно? Или таки с ними можно работать только чрез специальные функции?

anonymous
()
Ответ на: комментарий от anonymous

> А с виндовыми хэндлами (кторые суть указатели на структуры) значит так поступать можно?

"Суть есть" и "есть" - это немного разные вещи.

А чтобы прочуствовать разницу, проверь - что у тебя сделает такой код:

Display wrong_display;
XCloseDisplay(&wrong_display);

И что сделает такой код:

int wrong_fd;
close(wrong_fd);

Ron
()
Ответ на: комментарий от Ron

А, Вы про это.. А что - винюковские хендлы лучше? Тем более, что при помощи всяких undocumented книжек народ их все равно (если надо) переводит во внутренние структуры винюков (так было 10 лет назад - и, я думаю, и сейчас, если кому надо, не брезгует)?

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

svu ★★★★★
()
Ответ на: комментарий от Ron

Поведение обоих кусков кода зависит от реализации - и не говорит о качестве API

svu ★★★★★
()
Ответ на: комментарий от Ron

> См. выше - я анонимусу уже на эту тему написал.

Ты какую-ту фигню написал. Виндовые хэндлы это не абстрактные инты, как в unix, а вполне реальные указатели, на вполне реальные структуры.

anonymous
()
Ответ на: комментарий от anonymous

> Прочуствуй, что у тебя сделает:

> HANDLE h;

> CloseHandle(h);

Вернёт ERROR_INVALID_HANDLE. А ты что ожидаешь - что, так же, как кривая поделка красноглазых выпадет в корку? :-)))

Ron
()
Ответ на: комментарий от anonymous

> Виндовые хэндлы это не абстрактные инты, как в unix, а вполне реальные указатели, на вполне реальные структуры.


Не слишком ли много тогда будет попросить показать мне описание сией реальной структуры, или, хотя бы, назвать имя файла, где она описана?

Ron
()
Ответ на: комментарий от Ron

Пойдем с самого начала:

Программная реализация для Windows 3.0 многих средств SDK версии 3.1, не доступных даже через ToolHelp.

Часть I.

Внутренние структуры Windows.

ATOMTABLE

Описание:

struct ATOMTABLE{

		int nEntries;

		ATOMENTRY near *pAtoms[];

};

Поля:

nEntries	Количество позиций в таблице.

pAtoms	Адрес хэш-таблицы, содержащей ссылки на элементы цепочки структур ATOMENTRY в локальной памяти.

Комментарии:

Структура описывает хэш-таблицу атомов, создаваемую в локальной памяти вызовом функции InitAtomTable(). Элементы таблицы &#8212; это либо указатели на соответствующие структуры ATOMENTRY, либо значения NULL.

Если таблица существует, то ее адрес можно получить из структуры INSTANCE. Структура глобальной таблицы полностью аналогична этой, но ее начальный размер и, соответственно, поле nEntries всегда равны 37.

Версии: 3.0, 3.1.

ATOMENTRY

Описание:

struct ATOMENTRY{

		WORD wNext;

		WORD wRef;

		BYTE byLen;

		BYTE Buffer[1];

};

Поля:

wNext	Следующая структура ATOMENTRY в списке, или NULL для последнего элемента.

wRef	Количество обращений к атому.

byLen	Длина строки в байтах.

Buffer	Начало буфера, содержащего строку длиной wLen.

Комментарии:

ATOM &#8212; короткий указатель на эту локальную структуру. Ее описание можно найти в файле Winexp.h, входящем в комплект SDK.

Версии: 3.0, 3.1.

...


И т.д. И т.п. С тех пор ничего не изменилось.

anonymous
()
Ответ на: комментарий от anonymous

Это вы откуда информацию подчерпнули? Из журнала "Хацкирь"?

Я сейчас в Platform SDK такого файла не нашёл, равно как и описаний ATOMTABLE и ATOMENTRY в других файлах.

Поиск по MSDN тоже ничего не даёт.

Но, зато в windef.h вот что написано:

typedef WORD ATOM;

Ron
()
Ответ на: комментарий от Ron

Вы правда никогда не читали "undocumented windows" и прочих книжек подобного рода? Я в эпоху винюков 3.1х и 95 начитался - и увидел, что все эти хендлы реально указатели, по которым можно (именно как по указателям) погулять, повытаскивать инфу и пр.

svu ★★★★★
()
Ответ на: комментарий от Ron

> Это вы откуда информацию подчерпнули? Из журнала "Хацкирь"? Я сейчас в Platform SDK такого файла не нашёл, Поиск по MSDN тоже ничего не даёт.

A. Schulman и M. Pietrek авторитетнее всех индусов, соcтавлявших MSDN, вместе взятых.

> typedef WORD ATOM;

О эти заголовочные файлы от MS...

anonymous
()
Ответ на: комментарий от anonymous

> Хе-хе.. А если случайное значение в h будет таки VALID_HANDLE?


Тот же вариант, что и close(0), или, к примеру, close(1). Но, в нашем случае, речь идёт о действительно инвалидном значении. Так вот - виндовый CloseHandle, так же как и никсовый close вернёт код ошибки, в отличии от XCloseDisplay, который валит весь процесс в корку. Но, судя по всему, волосатым афтарам Xlib на подобные "мелочи дизайна", аки "настоящим хакирям" было насрать...

Ron
()
Ответ на: комментарий от Ron

Вы путаете проблемы дизайна с проблемой реализации. Если поймете, что хендлы - это _реально_ указатели, осознайте, что в данном случае разницы между двумя _API_ нет.

svu ★★★★★
()
Ответ на: комментарий от svu

> Вы правда никогда не читали "undocumented windows" и прочих книжек подобного рода?


А при чём тут "undocumented", если, как я уже сказал, этих описаний ни в одном заголовочном файле просто-напросто _нет_?

Ron
()
Ответ на: комментарий от svu

> Если поймете, что хендлы - это _реально_ указатели


Я повторюсь ещё раз - "реально указатели" на _ЧТО_?

Ron
()
Ответ на: комментарий от svu

И, если это реальные указатели, тогда не научите ли меня передавать обычные указатели между процессами, потому что с хендлами у меня это как-то получаецца. :-)

Ron
()
Ответ на: комментарий от Ron

То, что эти указатели недокументированы - не превращает их в индексы (как file descriptors). Они предоставляют прямой доступ к некоторым внутренним структурам данных, которые можно испохабить. Написать заголовочные файлы по материалам оных книжек - дело техники.

svu ★★★★★
()
Ответ на: комментарий от Ron

> Я повторюсь ещё раз - "реально указатели" на _ЧТО_?

Указатели на внутренние структуры. Какие именно, Вам указали выше.

svu ★★★★★
()
Ответ на: комментарий от svu

А местным кулхацкерам я бы посоветовал сначала хотя бы "documented windows" aka MSDN хоть немного почитать, прежде чем по "undocumented" лазить. Глядишь, и винда перестанет ни с того ни с сего в BSOD падать. :-))

Ron
()
Ответ на: комментарий от Ron

Нет проблем. Для этого достаточно, чтобы некоторые участки памяти (дада, те самые, служебные) мапились в одни и те же адреса в разных процессах. Несложная работа, с т.зр. ОС.

svu ★★★★★
()
Ответ на: комментарий от no-dashi

> Кроссплатформенность не интересна?

a komu ona seychas nuzhnA? skoro vse budet x86-64... Itanik utonul, HP-PA s Alphoj slili, Sun na UltraSPARC IV zabil vrode, Mac i tot...

Razve IBM dvigaet Cell v massy, da Acorn Risc Machine zhyvet-pozhyvaet...

McLone
()
Ответ на: комментарий от Ron

Это сколько угодно. Согласились ли Вы с тем, что используя хендлы как указатели, можно получить доступ к внутренним структурам данных?

svu ★★★★★
()
Ответ на: комментарий от svu

> Они предоставляют прямой доступ к некоторым внутренним структурам данных, которые можно испохабить.


Ну так попробуй. Получишь просто memory access violation.

Ron
()
Ответ на: комментарий от Ron

> Ну так попробуй. Получишь просто memory access violation.

Вы отвечаете, что все эти структуры доступны на запись только из ядра? Или Вы имеете в виду другую модель защиты?

svu ★★★★★
()
Ответ на: комментарий от svu

> Это сколько угодно. Согласились ли Вы с тем, что используя хендлы как указатели, можно получить доступ к внутренним структурам данных?


Прочитайте лучше третью главу Соломона/Русиновича. Могу даже скинуть электронную версию на английском, хоть это и варез. А то я уже устал ликбез проводить...

Ron
()
Ответ на: комментарий от Serega_S

> Open Office при затупах и перекрытии окнами представляет собой девственно-серое окно без единой кнопочки.

Eto ne OOo, eto GTK.

McLone
()
Ответ на: комментарий от Ron

хорошо, полистаю. Адрес - svu собака гном дот орг.

Но тем не менее продолжим. Правильно ли я понял, что Вы согласились с тем, что они указатели - только на защищенную область памяти?

Если это так (если нет - с удовольствием продолжу дискуссию), то имплементация в винюках еще кривее, чем xlib - для того, чтобы скрыть истинную суть хендлов, они прячут концы в ядро. Т.е. решения, по сути, аналогичны - только винюки привлекают внешнюю сущность (защиту на уровне процессора) для того, чтобы "не пущать". Кстати, многократно увеличивая накладные расходы - ведь вызовы функций становятся, по необходимости, системными вызовами. И мы получаем то самое монолитное дерьмище, которое весь мир знает как mswin.

svu ★★★★★
()
Ответ на: комментарий от svu

Вот, английским языком в книжке написано:

"An object handle is an index into a process-specific handle table".

Книжку завтра с работы скину - там тырнет быстр.


> чтобы скрыть истинную суть хендлов, они прячут концы в ядро

А куда прячут концы юникс-лайк системы, чтобы скрыть истиную сущность pid-ов и файловых дескрипторов - в пещеру Али-Бабы?

Ron
()
Ответ на: комментарий от Ron

> "An object handle is an index into a process-specific handle table".

Извините, но я ему не верю ("...ему нужна не я, а мои миллионы" :). В унихе, по крайней мере, можно увидеть всякие системные таблицы, по кр. мере, в опенсорцовых системах. В винюках - нет. В системах 3.1х и 95, до нт4, запихавших гуй в ядро, ФАКТ был тот, что хендлы были указателями. Это я сам проверял (гулял по спискам окон, описанным в соотв. книжках). Что случилось после того, как они замели мусор под коврик - вероятно, точно не знает никто - хотя я продолжаю подозревать, что это НЕ индексы. Кстати, проверьте - попробуйте выделить несколько объектов одного типа подряд. Будут ли хендлы выглядеть как индексы? Для файловых дескрипторов это проверяется элементарно...

> А куда прячут концы юникс-лайк системы, чтобы скрыть истиную сущность pid-ов и файловых дескрипторов - в пещеру Али-Бабы?

По-разному бывает. В микроядрах, кстати, оно совсем даже не в ядре. И, главное, там это действительно индексы (см. ИСХОДНИКИ).

svu ★★★★★
()
Ответ на: комментарий от McLone

To McLone

>kucha. Dovol'no moshnye popadalis'.

Список в студию. Куча - это значит больше 10? Итак, жду ссылки на подобие Word 6 с такими же тербованиями (386 4 оперативы 10 на винте)

>byli vrode. Oni s psevdografiki nachinalis' kak by.

Плевать на псевдографику. Подобие SuperCalc в студию.

>shUtite?

Ссылку на продукт плизз.

>etogo dobra hvataet. Curses/SLang... ta eshe ideja. IMHO curses - zlo.

А в панельку mc это добро встраивается?

anonymous
()
Ответ на: комментарий от alien

> Да и у меня вопрос остался - почему же Windows NT4+SP6 c Офисом ХР работают гораздо быстрее Linux 2.4.22+XFree86 4.3+Icewm+OpenOffice ?

Потому, что ОО -большое Г... Он не использует ни один виджет никсов, и это не UnixWay, так как проповедует стиль "все в однои", в том числе проверщик орфографии (отстойный, надо сказать), поддержку многих форматов (а на что сторонние проги?), не поддерживает модульность (при установке нельзя указать, что устанавливать. а что нет) ну и так далее.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.