LINUX.ORG.RU
ФорумTalks

gtk за глобальное потепление!

 ,


0

3

Возьмём такой обычный файловый менеджер как spacefm. На самом деле, тред вовсе не про ФМ, а про ФГМ разработчиков тулкита, но надо ж на ком-то ставить опыты.

Так вот. Открываем в нём две панели. И пробуем мышкой или хоткеем переключать фокус ввода между этими панелями.

2.5-гигагерцового процессора не хватает чтобы мгновенно обновить картинку в окне и поставить курсор с одной панели на другую. Реально не хватает. Между нажатием мыши и перерисовкой окна проходит ощутимая задержка, примерно в 1/3..1/2 секунды. Разница отчетливо заметна, если попробовать просто потыкать мышкой в пункты одной и той же панели: в этом случае всё происходит действительно мгновенно.

Те же самые инновационные технологии можно наблюдать и в tuxcmd, например. И вообще где угодно, где используются стандартные компоненты ListView или TreeView. Не обязательно даже переключаться между двумя TreeView, сойдёт и переключение между TreeView и строкой адреса, например. Тормоза те же самые.

Теперь запустим этот же spacefm с gtkparasite, включим показ обновлений окна и таки да, убедимся, что творится полное говно: при потере или получении фокуса TreeView перерисовывается весь полностью. Вернее, в данном случае перерисовываются аккурат два TreeView.

Ночь. Улица. Фонарь. Аптека. Развернутый на весь экран файловый менеджер. Процессор, судодорожно перемалывающий десятки мегабайт битмапов, чтобы в конечном счёте пользователь увидел перемещение маленькой синенькой рамочки из одного угла в другой. Идиотизм.

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

Кстати, чтобы улучшить климат на планете, gtk еще и перерисовывает все виджеты при входе/выходе мыши в их границы. Даже если они ни в малейшей степени не нуждаются в перерисовке. То есть понятно: это всё ради возможности ставить темы оформления на тулкит, универсальный подход и все такое. Не понятно только, почему универсальный подход всегда получается через жопу.

А теперь о вещах, которые реализованы правильно:

andromeda — первый попавшийся под руку ФМ на Qt, чтоб проверить как аналог TreeView работает в Qt. Отлично работает, никаких лагов.

gnome-commander. Эти ребята реализовали собственный виджет для панелей, и поэтому тоже не участвуют по всемирном движении за повышение температуры атмосферы.

Ну и total commander в винде, разумеется. Но об этом нельзя говорить вслух, ведь все же знают, что распрекрасный линукс рулит, а винда и все приложени для неё — сосут.

★★

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

Отправляй багрепорт.

Deleted
()

Учитывая предыдущий коммент, geekless, интересно, а выйдет сделать из твоего теста автоматический бенчмарк? С помощью xtest или аналогов генерить нужные клавиши и считать кол-во переключений в минуту. Тогда точно можно было бы послать качественный багрепорт.

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

Gimp с буржуйского - канитель, в жаргоне - калека.

netcat ★★
()
22 февраля 2013 г.
Ответ на: комментарий от geekless

Вообще-то firefox никаким боком не рендерит через gtk

а через что?

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