About Blog PGP Key

All articles, tagged with “x11”

xbindkeys: типа юниксвей

Когда-то, когда KDE 4.0 только релизился, я таки на него переполз. Из того что было нужно и не хотело работать — глобальные хоткеи.. Типа открыть терминал по Win+K и подобное. Вот в то время я пересел обратно на xbindkeys. Один раз написал простенький конфиг с десятком хоткеев.

Я конечно понимаю, что это юниксвей и все такое, но какого фига оно в powertop висит на втором месте из юзерспейса после firefox-а?

Top causes for wakeups:
  77.3% (486.5)   PS/2 keyboard/mouse/touchpad interrupt
   8.9% ( 56.1)   [kernel scheduler] Load balancing tick
   3.9% ( 24.5)   [iwlagn] <interrupt>
   2.9% ( 18.3)   firefox-bin
   1.6% ( 10.0)   xbindkeys
   1.5% (  9.3)   [i915@pci:0000:00:02.0] <interrupt>
   1.0% (  6.1)   Xorg

На выходных перелезу обратно на KDE-ные хоткеи.

Remote X11

Попробовал я короче говоря запустить Qt4-апликуху на удаленном X дисплее. Выглядело это всё очень грустно. Окошко отрисовывается по 5 секунд.

В качестве спортивного интереса позапускал различный софт, который использует разные тулкиты. Результат очень даже удивил (упорядочено по скорости работы GUI):

  1. xcalc
  2. tkabber
  3. Java (Swing)
  4. Wine с запущеным обычным инсталлером
  5. Qt3
  6. GTK2
  7. Qt4

C xcalc все понятно. Он использует xlib напрямую. Tk рисует всё тоже весьма оптимально (хотя и помедленней).

Swing, который я всегда считал тормозом, работает на удивлени быстро. По скорости в принципе не отличить от Tk.

Почему wine оказался _заметно_ быстрей новомодных GTK/Qt я вообше не понимаю. Суть в том, что если вендовой аппликухой, запущенной в wine, можно пользоваться, то софтом, использующим Qt3/GTK2/Qt4 — вообще невозможно.

Падение Qt3 -> Qt4 — это вообще регрессия офигеть какая. Может на локальных дисплеях оно и быстрей стало, но по сети Qt4 — тормоз.

Походу на сетевые фичи иксов все тупо забивают. Собственно скоро X11 вообще будет ненужным. К сожалению.

Qt4, X11

“But hey, this means we have tons of XPutImage calls as part of the repainting, doesn’t it?” you are probably thinking. Luckily not… The raster graphics system is using the X Shared Memory extension to allocate the bits shared with an XPixmap so the end of a paint is a mere XCopyArea, which happens in-place on the X server, so it is quite cheap. Needless to say this is a solution that works best on local displays, but that does cover most of the Linux desktops out there, so it should be a gain in general.

Если постоянно гонять туда сюда pixmap-ы, то про нелокальные дисплеи можно забить:

About remote connections with X11, I use the NX (http://www.nomachine.com/) improved protocol. I found Qt4 really slower than Qt3 through NX/FreeNX (In fact, at office, we use a big Linux server with KDE 3.5 and remote clients with NXclient and after some tests, KDE 4 seemed unusable).