LINUX.ORG.RU

А какие тулкиты все еще умеют рисовать иксовыми комадами?

 gui toolkit, network transparency,


0

3

Приветствую.

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

Со всякими Qt и GTK+ все понятно, а что на счет FLTK или FOX-TOOLKIT? Tk?

Про всякие Motif, Athena и прочие X Toolkit Intrinsics в курсе, но хочется чего-нибудь еще.

★★★★★

Последнее исправление: fat_angel (всего исправлений: 2)

>используют для рисования иксовые команды
>современных

Сам спросил, сам ответил.

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

Специалист по выдиранию слов из контекста? Там еще было слово «относительно». И таки интересую FLTK и FOX.

fat_angel ★★★★★
() автор топика

Tk. Не считая использования xft. Каждый виджет — иксовое окно.

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

Qt пока что умеет.

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

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

Спасибо. Про то, что GTK работает работает через Cairo я был в курсе, а вот про кишки самой кайры все как-то лень было почитать. Теперь осталось рабраться как работает XRender.

/ушел в гугл

fat_angel ★★★★★
() автор топика
Последнее исправление: fat_angel (всего исправлений: 1)
Ответ на: комментарий от geekless

Более-менее разобрался с XRender. Как я понял он на стороне сервера работает? И весь рендеринг осуществляет сервер?

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

Как я понял он на стороне сервера работает?

Да.

И весь рендеринг осуществляет сервер?

Ну в каком плане «весь». Сколько в xrender заложено, настолько и «весь». :}

Глифы, например, клиент растеризует. А вот текст из готовых глифов складывает сервер.

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

Хе-хе. Интересно откуда тогда эти сказки про гигантские несжатые пиксмапы, которые гоняют по сети современные тулкиты?…

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

А вот текст из готовых глифов складывает сервер.

Пруфы есть? Каиро сама прекрасно складывает буквы.

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

ткуда тогда эти сказки про гигантские несжатые пиксмапы, которые гоняют по сети современные тулкиты?…

По какой сети? Пиксмапы гоняются по памяти. Один пиксмап на клиенте, еще один - в Xrandr.

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

По какой сети?

Через которую пробрасывают иксы, при использовании их сетевой прозрачности.

Xrandr

Может все же XRender?

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

Через которую пробрасывают иксы, при использовании их сетевой прозрачности.

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

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

Глифы, например, клиент растеризует. А вот текст из готовых глифов складывает сервер.

Так можно сложить только моноширинный шрифт. Символы шрифта, где ширина глифов различна, можно составлять, только зная какие именно символы состыкуются. Так что, думаю (нырять в исходники лень), текст целиком рендерится на клиенте.

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

Ну дык серверу шлётся команды, что глиф буквы Ы по такой-то координате, глиф буквы Ъ по такой-то координате.

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

Сервер ничего не знает ни про какие глифы. У сервера только его иксовые шрифты. Про глифы всё знает фритайп, который целиком на клиенте, да еще и кэш этих самых глифов у себя отдельно держит.

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

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

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

Не знаю, что там у кого отваливается, но флеш выглядит идентично, что локально, что по сети. http://ompldr.org/vZXQ3ZQ http://ompldr.org/vZXQ3Zg

Немного, конечно, притормаживает, но на первом примере практически незаметно, а на втором оно у меня и локально тормозит с 1080p (атом вместо процессора, а аппаратное ускорение во флеше вроде как-то работает, но недостаточно хорошо).

Скорость ~20 мегабит.

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

Пруфы есть? Каиро сама прекрасно складывает буквы.

Куда ж вы лезете со своей неграмотностью...

$ x11trace -n galculator  2>/dev/null | grep Request | cut -d: -f6 | cut -d' ' -f2 | sort | uniq -c | sort -n

      1 CreateCounter
      1 CreateCursor
      1 DestroyCounter
      1 DestroyWindow
      1 Enable
      1 GetCrtcInfo
      1 GetMap
      1 GetNames
      1 GetOutputPrimary
      1 GetScreenResourcesCurrent
      1 GetState
      1 Initialize
      1 ListInputDevices
      1 OpenFont
      1 PerClientFlags
      1 QueryPictFormats
      1 QueryTree
      1 SelectInput
      1 SendEvent
      1 SetCursorName
      1 SetInputFocus
      1 UnmapWindow
      1 UseExtension
      2 DeleteProperty
      2 GetExtensionVersion
      2 GetSelectionOwner
      2 GetWindowAttributes
      2 GrabServer
      2 OpenDevice
      2 SelectEvents
      2 SelectSelectionInput
      2 UngrabServer
      3 ConfigureWindow
      3 CreateGlyphSet
      3 GetGeometry
      3 GetOutputInfo
      3 MapWindow
      3 PolyFillRectangle
      4 CopyArea
      4 CreateWindow
      5 QueryPointer
      6 TranslateCoordinates
      7 ChangeWindowAttributes
      7 SetClipRectangles
      8 FillRectangles
      8 QueryVersion
     10 CompositeGlyphs16
     10 GetInputFocus
     11 UNKNOWN
     14 GetProperty
     15 QueryExtension
     40 ChangeProperty
     54 InternAtom
     62 FreeGC
     65 CreateGC
     93 AddGlyphs
    110 ChangePicture
    110 SetPictureClipRectangles
    115 CompositeGlyphs8
    132 ChangeGC
    268 Trapezoids
    312 Composite
    519 PutImage
    523 FreePixmap
    524 CreatePixmap
    525 CreatePicture
    526 FreePicture

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

Так можно сложить только моноширинный шрифт. Символы шрифта, где ширина глифов различна, можно составлять, только зная какие именно символы состыкуются. Так что, думаю (нырять в исходники лень), текст целиком рендерится на клиенте.

Бугагашеньки. man xrender. Понавылазило специалистов, не позорился бы хоть.

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

Куда ж вы лезете со своей неграмотностью

И действительно!

1 OpenFont

312 Composite
519 PutImage
523 FreePixmap
524 CreatePixmap
525 CreatePicture
526 FreePicture

Понавылазило специалистов, не умеющих читать собственные трейсы... ))

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

Пробрасывает. Тонкие клиенты живы и будут жить.

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

Как ты прав, чувак!

Лопух. Погуглил бы, что за единственный шрифт открыл твой калькулятор. Это 'Cursor' - в иксах курсоры мыши реализованы через глифы в шрифте. Именно это ты и наблюдаешь в трейсе, олух. ))

LamerOk ★★★★★
()
Последнее исправление: LamerOk (всего исправлений: 1)

и охота вам копаться в умирающем говне? лучше б Вейленд пилили

anonymous
()
Ответ на: комментарий от LamerOk
$ x11trace -n elementary_test  2>/dev/null | grep Request | cut -d: -f6 | cut -d' ' -f2 | sort | uniq -c | sort -n
      1 CloseFont
      1 ConfigureWindow
      1 CreateAnimCursor
      1 CreateCounter
      1 Enable
      1 GetGeometry
      1 GetMap
      1 GetSelectionOwner
      1 GetVersion
      1 GetWindowAttributes
      1 Initialize
      1 MapWindow
      1 OpenFont
      1 PerClientFlags
      1 QueryPictFormats
      1 SetCursorName
      1 UnmapWindow
      1 UseExtension
      1 XIQueryDevice
      1 XIQueryVersion
      2 DestroyWindow
      2 GetExtensionVersion
      2 SelectEvents
      3 CreateWindow
      3 SendEvent
      6 CreateCursor
      6 CreatePicture
      6 CreatePixmap
      6 FreeCursor
      6 FreePicture
      6 FreePixmap
      6 QueryVersion
      7 ChangeWindowAttributes
      8 CreateGC
      8 DeleteProperty
      8 FreeGC
      8 GetModifierMapping
      9 Attach
      9 Detach
     11 GetProperty
     13 PutImage
     17 GetInputFocus
     17 QueryExtension
     35 ChangeProperty
    247 InternAtom

работы с глифами нет, а курсор и шрифты есть, магия ?

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

магия ?

Нет, просто не исполняется инициализационный код gtk/gnome приложения, только и всего.

Можно сделать иксовое приложение, которое вообще не будет открывать ни одного шрифта. Только это никак не докажет, что gtk пользуется иксовым инструментарием для работы со шрифтами. ;)

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

Сам ты лопух, запусти medit и смотри как клиент будет на сервер кидать глифы по мере ввода текста. Рассказывай мне тут про курсоры, ага. :-D Трололошка-неудачник.

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

Только это никак не докажет, что gtk пользуется иксовым инструментарием для работы со шрифтами. ;)

Исходники читать не пробовал? Говорят, помогает даже таким как ты. ;)

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

Погуглил бы, что за единственный шрифт открыл твой калькулятор.

Кстати, ты б хоть с матчастью ознакомился. Глифсетов было открыто ровно три:

3 CreateGlyphSet

geekless ★★
()

[offtop]Из X.org удалили XAA. Конец эпохи.[/offtop]

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