LINUX.ORG.RU
ФорумTalks

[иксы][gui][вперде] Пора сваливать на другой глобус

 ,


0

2

Берем несколько (первых попавшихся под руку) приложений и смотрим на отзывчивость интерфейса.

xterm (с запущенным emacs)
Ресайз окна — мгновенно.
Обновление окна при таскании другого окна поверх него — мгновенно.
Реакция emacs-а на ввод символов — мгновенно.
Прокрутка текста в emacs-е — мгновенно.

lxterminal (с запущенным emacs)
Ресайз окна — с практически неощутимой задержкой.
Обновление окна — мгновенно.
Реакция emacs-а на ввод символов — мгновенно.
Прокрутка текста в emacs-е — мгновенно.

gnome-terminal (с запущенным emacs)
Ресайз окна — с едва заметной задержкой и морганием окна.
Обновление окна — чуток подлагивает.
Реакция emacs-а на ввод символов — мгновенно.
Прокрутка текста в emacs-е — мгновенно.

emacs (графическая морда)
Ресайз окна — сама морда мгновенно перерисовывается, но перерисовку буфера с текстом бывает заметно глазом.
Обновление окна — мгновенно, он отдельные куски морды моргают.
Реакция на ввод символов — мгновенно.
Прокрутка текста — мгновенно.

scite
Ресайз окна — видно, как рисуется окно.
Обновление окна — видно, как рисуется окно.
Реакция на ввод символов — мгновенно.
Прокрутка текста — сильно чувствуется задержка.

gedit
Ресайз окна — даже последнему слоупоку видно, как долго и упорно рисуется окно!
Обновление окна — аналогично, долго и упорно рисуется окно.
Реакция на ввод символов — падает пропорционально количеству строк ниже курсора, блджад!!! Вплоть до слайдшоу на крупных файлах. Не верю своим глазам. Вспоминаю, не курил ли чего накануне. Вроде бы нет.
Прокрутка текста — чувствуется задержка.

Так. Ладно. Запускаем xcompmgr и повторяем эксперимент. В тех случах, где слегка моргало — моргать перестаёт. Там где сильно моргало — композитинг помочь бессилен, только сильнее стало заметно лаги.


И после этого пусть анонимные аналитики продолжают рассказывать, как существующая архитектура иксов мешает достичь высокой производительности гуя на десктопе. Что, кто-то всерьез верит, что с переходом на вейланд или любой другой велосипед, разработчики тулкитов и приложений внезапно и резко научатся программировать? Они этот навык долго и последовательно выдавливали из себя на протяжении 15 лет, не надейтесь, такого не будет.

Отдельную благодарность выражаю разработчикам gedit (точнее gtksourceview; впрочем, это одни и те же люди), эти ребята сделали мой день.

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

> Это что меня тут недавно Document Viewer и Evince в качестве просмотрщиков PDF разозлили

А Okular не пробовал?

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

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

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

> Сложность вычислительной задачи оцениваем по сложности рисования карандашиком у студентоты? Этапять!

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

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

кстати, если бы таки взял карандашик и нарисовал, скажем, заголовок окна с градиентиком и не-ШГ, то давно бы это понял

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

> Кстати да, KWrite/Kate очень шустрые редакторы

Открыл исходник Rubyripper (~2600 строк) в Kate, попробовал поставить открывающую круглую скобку. Отобразилась она примерно через полторы секунды после нажатия. Это называется шустрый? (: хотя в остальном да, все довольно быстро работает.

pevzi ★★★★★
()

emacs наше всё (его, кстати, можно использовать не только терминальный/gtk-шный)

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

да - неумеющие писать патчи могут купить себе Mac, там не тормозит, а если и затормозит - можно уже требовать, чтоб исправили

Тормозит, еще как. Даже на новый макбуках про. Я предполагаю, что там все в механический диск упирается, наверное на SSD будет быстрее. Вот только я помню как вполне комфортно работал за своим стареньким p3 c 256 мб оперативки...

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

>скорость прорисовки у GTK всегда хромала, даже по сравнению с тем же Qt.

по сравнению с qt3 - да, было невооружённым глазом заметно, сейчас, с переходом на Qt4 стало примерно так же

lazyklimm ★★★★★
()

Вообще, ТС ничего нового не написал. Я помню лет 8 назад в журнале Домашний ПК (вроде он так назывался) выкладывали циклы статей по алгоритмам и языкам программирования. Там был перевод публикации кажется Э. Дейкстры, в которой было написано тоже самое: современные программы прожорливы, причем, прожорливы необоснованно. Так не только на linux, так на mac os и windows, от этого никуда не деться.

По хорошему, надо собрать разработчиков, например, KDE или Gnome в одном месте, дать им по пентиуму 2 с 64 мб оперативки и пускай пишут действительно хороший код, а не измышляют какие иконки красивее и каких аплетов нам не хватает на рабочем столе... Вот только тут мы понимаем, что нам никто ничего не должен, код пишут добровольно а балом правят корпорации типа AMD и Intel, которым нужно продавать свои процессоры.

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

>ССЗБ, чо. Kwrite таки летает.

Да ну? А открой-ка файлик со строками пару сотен тысяч символов длинной, я посмотрю, как оно летать будет.

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

Не установлено ничего из перечисленного. Еще светлые идеи будут? :D

Будут. Поставь компиз. У меня без него тоже всё страшно тормозит.

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

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

кстати, если бы таки взял карандашик и нарисовал, скажем, заголовок окна с градиентиком и не-ШГ, то давно бы это понял

Пусть студентота мне режит на бумажке вычислительную задачу нарисовать 3d-сцену с (хотя бы) несколькими десятками тысяч прямоугольников и хорошим текстутированием. Компьютер решает эту задачу за малую долю секунды. Ну или если иметь виду, что gedit всё же рендерит себя на CPU, возьмём другую сложную вычислительную задачу — рассчёт физики и обработка AI/скриптов. Например, в HL2 или Painkiller. Для коматозников напомню системные требования: HL2 — 1.7 ГГц, 512 МБ ОЗУ, видеокарта, совместимая с DirectX 8.1, Painkiller — 512 MB MB RAM, CPU: Pentium-4 2.5 ГГц, видео с 128 МБ VRAM. Компьютер, который в реалтайме рендерит высокополигональную графику с качественными текстурами, освещением и сложной постобработкой, а также считает довольно сложную физику — не может, тем не менее, просто мгновенно показать окно текстового редактора. Какие, к черту, градиенты и иконки с прозрачностью!

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

s/прямоугольников/треугольников/

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

> А то, что иксы нужно как можно быстрее закопать, я окончательно понял, когда в очередной раз столкнулся с залипанием клавиш. http://www.linux.org.ru/forum/talks/6117921

Ну на этот счёт ничего сказать ничего не могу, ни разу такой баг не видел. Редко бывает, что залипают модификаторы в xneur, но я абсолютно не в курсе, кто именно виноват - иксы или xneur.

И да — из этого никак не следует, что иксы надо закапывать. Если есть конкретный баг, надо найти и починить баг. Логично, что если он воспроизводится только вас и не воспроизводится у того, кто мог бы заняться починкой, то помочь вам не смогут. Ищите проблему сами, либо наймите кого-либо, кто это сделает. Это СПО в конце, концов. Если бы вместо иксов были гипотетические игреки, было бы то же самое.

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

А круглые открывающие скобки пробовал ставить? У меня вот реально скобка только через пару секунд появляется.

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

>Линуксофанатики так обещают — заслушаешься

а если на тебя набросятся бабки-иеговистки, тоже слушать будешь? вот то-то же

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

>дать им по пентиуму 2 с 64 мб оперативки

и пускай пишут действительно хороший код


dingux?

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

>> К слову, скорость прорисовки у GTK всегда хромала, даже по сравнению с тем же Qt.

4.2.

Ну не хотите видеть очевидного — не надо, чо.

Это видишь только ты — повод задуматься.

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

Ага, а ещё xpdf единственный, кто у меня вылетал при открытии pdf-ок.

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

Kwrite таки летает.

А вот Konsole подтормаживает...

Konsole

[ megabaks@desktop ] ~ $ time for i in `seq 1000`;do wmctrl -r "megabaks : bash" -e 1,-1,-1,500,300 && wmctrl -r "megabaks : bash" -e 1,-1,-1,1280,1024;done

real	0m14.377s
user	0m2.623s
sys	0m0.657s
[ megabaks@desktop ] ~ $ 
Kwrite
[ megabaks@desktop ] ~ $ time for i in `seq 1000`;do wmctrl -r Kwrite -e 1,-1,-1,500,300 && wmctrl -r Kwrite -e 1,-1,-1,1280,1024;done

real	0m14.255s
user	0m2.626s
sys	0m0.694s
[ megabaks@desktop ] ~ $
или я чего-то не так понял?
в Kwrite конфиг коньков, в Konsole выхлоп
top -n 1

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

Gedit с тем же конфигом коньков и тем же ШГ (terminus)

[ megabaks@desktop ] ~ $ time for i in `seq 1000`;do wmctrl -r ".conkyrc-megabaks2 (~) - gedit" -e 1,-1,-1,500,300 && wmctrl -r ".conkyrc-megabaks2 (~) - gedit" -e 1,-1,-1,1280,1024;done

real	0m20.669s
user	0m2.816s
sys	0m0.764s
[ megabaks@desktop ] ~ $ 

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

Compiz и поэтому УМВР.

не могу не согласиться:
Kwin OpenGL

[ megabaks@desktop ] ~ $ time for i in `seq 1000`;do wmctrl -r "Chromium" -e 1,-1,-1,500,300 && wmctrl -r "Chromium" -e 1,-1,-1,1280,1024;done

real	0m37.276s
user	0m3.180s
sys	0m0.703s
[ megabaks@desktop ] ~ $
Kwin XRender
[ megabaks@desktop ] ~ $ time for i in `seq 1000`;do wmctrl -r "Chromium" -e 1,-1,-1,500,300 && wmctrl -r "Chromium" -e 1,-1,-1,1280,1024;done

real	0m19.408s
user	0m3.531s
sys	0m0.866s
[ megabaks@desktop ] ~ $
Compiz
[ megabaks@desktop ] ~ $ time for i in `seq 1000`;do wmctrl -r "Chromium" -e 1,-1,-1,500,300 && wmctrl -r "Chromium" -e 1,-1,-1,1280,1024;done

real	0m16.168s
user	0m3.089s
sys	0m0.692s
[ megabaks@desktop ] ~ $
//просто вброс

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

> Пробовал. Параллельно увлекаюсь Scheme, а там одни скобки. Хотя максимальный исходник там ~1900 строк.

Это действительно странно (: зарепортить багца что ли.

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

>> Это что меня тут недавно Document Viewer и Evince в качестве просмотрщиков PDF разозлили.

Разве это не одна и та же программа? о_О

GotF ★★★★★
()

gedit Ресайз окна — даже последнему слоупоку видно, как долго и упорно рисуется окно! Обновление окна — аналогично, долго и упорно рисуется окно. Реакция на ввод символов — падает пропорционально количеству строк ниже курсора, блджад!!! Вплоть до слайдшоу на крупных файлах. Не верю своим глазам. Вспоминаю, не курил ли чего накануне. Вроде бы нет. Прокрутка текста — чувствуется задержка.

У меня Gedit на 5 мегабайтном HTML-файле сначала его открыл не в той кодировке (автоопределение KOI8-R почему-то не сработало), тормозил на скроллинге (как-будто, не смог сразу весь файл подгрузить), а после переоткрытия с нужной кодировкой почему-то упал:

> gedit
sys:1: GtkWarning: IA__gtk_progress_set_percentage: assertion `percentage >= 0 && percentage <= 1.0' failed
Segmentation fault

Зато JEdit справился на ура и даже не затормозил ни на чём.

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

> не достаточно

Моему текстовому редактору было достаточно Z-80 3.5MHz. Размер символа при этом был 6x8 пикселей (кто помнит спектрум, то знает и знакоместе 8x8).

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

При этом в ZX-Spectrum редактор BASIC был написан в стиле маляра Шлемиля: на больших программах, когда курсор подводишь к концу текста, всё становится тормознее и тормознее.

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

При этом в ZX-Spectrum редактор BASIC был написан в стиле маляра Шлемиля: на больших программах, когда курсор подводишь к концу текста, всё становится тормознее и тормознее.

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

10 REM HIDDEN_AND_BLOCKED_SIMPLE_LOADER_USING_ASM_CODE
20 RANDOMIZE USR ТУТ_АДРЕС_НО_Я_ВСЕ_ЗАБЫЛ_ЗА_ДАВНОСТЬЮ_ЛЕТ.
andreyu ★★★★★
()
Ответ на: комментарий от andreyu

20 RANDOMIZE USR ТУТ_АДРЕС_НО_Я_ВСЕ_ЗАБЫЛ_ЗА_ДАВНОСТЬЮ_ЛЕТ.

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

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

>RANDOMIZE USR ТУТ_АДРЕС_НО_Я_ВСЕ_ЗАБЫЛ_ЗА_ДАВНОСТЬЮ_ЛЕТ.

Бугога низачод. Самый гуризм это

0 randomize usr 0 : rem blablabla

Absurd ★★★
()

Марк Говно-Ед сам некомпетентен, поэтому предлагает быдлоwayland на десктопы тащить.

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

У тебя полностью отсутствует абстрактное мышление. Убейся.

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

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

Не, если адрес 0, то будет ресет.
15616 - вроде переключение биоса на tr-dos и передача ему управления. Этот адрес взят был не случайно - в оригинальном биосе там лежал набор подходящих команд. именно по этой причине на некоторых пропатченых прошивках tr-dos не работал.

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

> >RANDOMIZE USR ТУТ_АДРЕС_НО_Я_ВСЕ_ЗАБЫЛ_ЗА_ДАВНОСТЬЮ_ЛЕТ.

Бугога низачод. Самый гуризм это

0 randomize usr 0 : rem blablabla



RANDOMIZE USR 0 - в данном случае был ширмой, для отвода глаз. А вообще посмотрите мои демки и игрушки - там и не такие выкрутасы использовались.

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

Да я просто даже не задумался, что-то вызвалось из окна загрузки с таким названиям, а что оно Evince написано не было.

anonymous_incognito ★★★★★
()

gtktextbuffer тормозит собственно. и обмен с ним текстом в особенности. нужен нормальный некривой текстобуфер ибо а не зомби времен гтк1

ckotinko ☆☆☆
()
Ответ на: комментарий от andreyu

>RANDOMIZE USR 0 - в данном случае был ширмой, для отвода глаз.

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

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

> Конечно ширмой. Чтобы числовые литералы парсить не надо было они в бинарном виде прямо в коде хранились, но редактор их не рисовал. При желании можно было сделать так чтобы отображается одно, а в бинарном виде сохранено другое.

Именно так.

andreyu ★★★★★
()

Именно поэтому я предпочитаю cli.

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