LINUX.ORG.RU

Wayland VS Xorg

 


0

1

Судя по графикам, которые я нашёл в интернете, FPS в играх примерно одинаковый в Wayland и Xorg. При этом в KDE могут наблюдаться проблемы и резкое снижение производительности на обоих.

И в целом никакой особой разницы при использовании нет. Зато есть баги в новом Wayland’е и драйверах, и их следствия.

Я помню, что разработчик Wayland говорил, что Xorg был медленным и перегруженным и всё такое, так в чём конкретно это заключается?

Какой тогда был смысл переходить с проверенной технологии на новую, что реально хорошего она дала? Время, силы, деньги ушли. Или это всё просто подковёрные игры Бигтеха?

И ещё по FPS. В Xorg для поднятия FPS в былые времена запускали игры в новом сеансе X-сервера. (Это была довольно известная фишка среди проюзеров) https://help.ubuntu.ru/fullcircle/25/ускорение_игр_под_х

Как с этим дело обстоит сегодня на Wayland?


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

Вон uTox вообще без тулкита написан.

И козырять этим фактом может только тот, кто этим г***м не пользовался на постоянной основе и/или не заглядывал в его сырцы.

Это антипример, если что — как не надо писать на Си. Лапша, хардкод и байто***ство во все поля.

Постоянно отхлёбывающие куски на ровном месте — то конфиг не сохраняется, то темы отвалятся (потому что автор запятую забыл), то собственное же масштабирование превращает интерфейс в кашу. О чём тут говорить — оно радостно падало, теряя хистори, если в поле ввода нажать End на последней строке.

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

Да ну - как раз отлично пишется на Qt. Потому что в отличии от говнотулкитов кривобоких где все надо реализовывать самому, в Qt все сложное уже сделано за тебя. И можно писать основную логиу своей программы вообще не парясь интерфейсом совсем.

Другое дело что если ты хочешь писать коммерческий софт - то коммерческая лмцензия Qt стоит овердохрена и нищему начинающему кодеру будет тяжеловато на нее раскошелиться. Но GPL версия - пожалуйста , для людей.

Не нравится Qt по религиозным соображениям - есть gtk3 а если забить на вяленый то gtk2. Все остальное ИМХО внимания не достойно ибо тратить время на изучение никому не нужной экзотики прикольно в студенчестве и школьничестве - ах я не такой как все. Но по факту основная масса продуктивного софта в линуксе - гтк и qt.

Qui-Gon ★★★★★
()
Ответ на: комментарий от MOPKOBKA

Вон uTox вообще без тулкита написан

Ну и выглядит как говно. На десктопе в основном gtk и qt приложения - их можно завернуть в тему, управлять используемыми шрифтами, размером опять же - несколькими параметрами по всем прграммам. А вот такие «без тулкита» какашки только делают геморро когда каждое приложение выглядит как будто оно вообще не отсюда я у мамы дурочка и требует дополнительного пердолинга с look & feel.

У меня все приложения имеющие возможность использовать нативную тему тулкита или такие вот вычурно-уродливые скины включены в стогий тулкитовый дефолт. И при наличии альтернативы всегда выбирается приложение на тулките.

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

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

Нативные темы Telegram не использует, и в Stellarium интерфейс довольно специфичный, всякие кады и фотошопы тоже используют свою темизацию.

Blender пример еще одной программы, которая была написана без тулкита.

А вот qBittorrent на винде выглядит отвратительно, элементы не родные, все выглядит очень странно и топорно: https://gramfile.com/wp-content/uploads/2024/08/qBittorrent-Download-for-Wind...

Замечу что Qt вообще плохо под систему адаптируется, там есть только контроллы из Windows 2000. Либо надо писать все самому.

MOPKOBKA ★★★★★
()
Последнее исправление: MOPKOBKA (всего исправлений: 4)
Ответ на: комментарий от Qui-Gon

Все остальное ИМХО внимания не достойно ибо тратить время на изучение никому не нужной экзотики прикольно в студенчестве и школьничестве - ах я не такой как все.

А все же, Gtk и Qt это полный отстой, каждое действие это 10 классов и многострок. Есть свои ограничения. Так что рассмотреть альтернативы это полезно. Использовать их не обязательно.

На ImGui есть много полезных вещей, например Tracy, его используют NVIDIA, Adobe. Сам он строится на той же идее что и Nuklear - Immediate Mode.

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

Ну блендер отдельная тема. Он сам по себе настолько специфичен что там из тулкита особо и не испольуешь ничего. Ну и потом это легаси, как и синелерра.

Потом опять же - qt это не только про то кто как виджеты рисует. В qt дохрена функционала и телеграм тот же его использует. И стелариум тоже. То что там нет привычных виджетов - не значит что там нет qt. Там как раз везде qt и как раз qt отвечает за кроссплатформенность программы.

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

Telegram нашел этот функционал слишком ограниченным, что бы использовать больше чем на двух ОС.

Много ли эти программы используют Qt? ФС, сеть, потоки, юникод. Это уже скоро в базовой библиотеке С++ будет %) Ну а так, это есть везде? glib, wx, jvm?

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

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

Поскольку я сижу на генту уже давно - наблдаю как пакеты просто нах не собираются с валом ошибок если там версия llvm чуть свежее или чуть старее или там gcc не то. И это в рамках только линукса и только x86-64. А добавь сюда венду, макось, разные сорта арм, риск-v. Так что qt не зря на свой хлебушек икру намазывают кончено - потому как принимают на себя весь этот геморрой.

Qui-Gon ★★★★★
()
Ответ на: комментарий от MOPKOBKA

столько софта умирает при устаревании его тулкита

ну помимо тулкита есть еще много либ. Скажем ffmpeg уже сколько раз api сломали? poppler сволочь с каждыми релизом почти ломает api. icu - тоже самое. glibc - и то не идеал стабильности. Ядро линукса - тоже.

Так что ты либо поддерживаешь свою прогу (ну либо ее фокают и поддерживают другие), либо она просто дохнет. И тут неважно тулкит не тулкит.

Кстати многие древние проги просто не собираются современными компиляторами. Ну вот совсем.

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

Ядро на самом деле крайне стабильно, если речь о syscall. Многие консольные программы очень долго живут, те что на X11 или Motif тоже. На Windows запускаются игры и приложения из 90х, но разработка такой устаревшей кодовой базы в любом случае это не очень весело.

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

ну приходится держать qt5 и qt6. Qt кстати достаточно стабильно держит API в рамках мажорной версии, так что старый софт как правило собирается с более свежим минором qt , а вот попытка собрать более свежий софт со старым может обернуться ошибкой - не спорю.

Но поскольку мой десктоп - это мате , то при наличии аналогов использую gtk3 софт. Qt - только там где аналогов нет, тот же фрикад. или телеграм.

Qui-Gon ★★★★★
()
Ответ на: комментарий от MOPKOBKA

апускаются игры и приложения из 90х

Линуксячий QuakeWorld от id тоже запускается на современном дистрибутиве, сервер работает вообще шикарно, клиент из 90тых, конечно, ужас-ужас, но с сервером соединяется и даже вполне бегается по сети…

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

Проблемы у Linux/Qt есть, то что у некоторых чудом получилось, это не означает что все делается элементарно. Вот hobbit тоже мне говорил что все просто, а у самого ушло несколько попыток.

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

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

это не означает что все делается элементарно

ну вообще-то пограммистам как-бы за это много деньгов и платят. А то «тяп-ляп и в продакшен», а потом у них линукс виноват…

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

Статическую линковку и с культяпками можно сделать. Но вопрос же был о таскании библиотек с собой - я привет пример, что при адекватном подходе 10+ лет для ПО вполне можно получить…

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

проблемы

Это особенности. Все есть в репах, компилится из исходников. Проблемами это становится если в чужой монастырь со своим уставом «хочу как в винде хавать проприетарщину с лопаты».

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

писать основную логиу своей программы вообще не парясь интерфейсом совсем.

Вот после таких «не парящихся интерфейсом» и получаем неудобные интерфейсы. Если это не какой-то высокотехнологичный софт в котором основная ценность это крутые алгоритмы - то интерфейс это именно то с чем и надо «париться» чтобы сделать его удобным,а не «по умолчанию».

если ты хочешь писать коммерческий софт

Естественно я не про коммерческий софт. Там теперь на чем писать решает начальник. На чем скажет на том и пишут. И интерфейс делают такой какой скажут - этим отдельные люди занимаются. Это в 90х когда я программистом работал можно было самому решать что использовать. Но мы всё-таки в линуксе и программисты-любители тут вовсе не редкость. Это современная разновидность радиолюбительства.

тратить время на изучение никому не нужной экзотики прикольно в студенчестве и школьничестве

Ну это кому как. Если для написания простой программы надо изучить монстра размером с QT,да еще и разобраться как к плюсовому QT подключить свой анси-сишный код - то как-то руки опускаются. Ну вот я писал себе программу,взаимодействующую с контроллером моей домашней солнечной электростанции. И зачем в ней QT если дальше моего компа она всё равно никуда не уйдет ибо к моему оборудованию и его конфигурации привязана? Если бы я взялся писать ее на QT - скорее всего просто не написал бы никогда. Мотивация раньше кончилась бы. А так - взял вот это http://xforms-toolkit.org и написал. Вроде как написание софта для себя пока что в линуксе не запрещено и покупки каких-нибудь ключей для его подписывания не требует (как при написании виндовых драйверов например).

масса продуктивного софта в линуксе - гтк и qt.

Уже лет так двадцать как прошли времена когда в одно лицо можно было написать что-то «продуктивное». Сейчас серьезный софт пишут команды профессионалов,а не одиночки-самоучки. Так вот и гтк и особенно qt - это именно что для команд профессионалов.

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

Мне вот не нравится то что есть в репозитории. Хочу например старые версии, их поставить трудно, проще скомпилировать. А компиляция это подтягивание старых библиотек, и много времени.

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

Так вот и гтк и особенно qt - это именно что для команд профессионалов.

Вот Qt как-раз наоборот - «одиночка-самоучка» именно с Qt может написать что-то «продуктивное». Не зря же делфи и т.д. и т.п. были так популярны - оно позволяло/позволяет выдавать софт в товарных объемах без команды супер-гениев…

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

Уже лет так двадцать как прошли времена когда в одно лицо можно было написать что-то «продуктивное».

Полно программ и игр. Что поменялось c 2005 года?

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

А вот qBittorrent на винде выглядит отвратительно, элементы не родные, все выглядит очень странно и топорно

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

там есть только контроллы из Windows 2000.

А в виндах клавиатурное управление сделано на отвяжись. Так что если оно аналогичное то переопределять надо.

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

на сколько старые? Если совсем-совсем, то любой старый дистрибутив у которого не удалили старые репы… например, в chroot … это же не винда где за такое надо покупать еще одну лицензию…

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

Без понятия. Immediate Mode он как старый OpenGL, если ты его помнишь. glBegin/glEnd и треугольник на экране.

Эта идея натягивается и на GUI. 3 вызова функции, и 3 элемента у тебя на экране.

void draw_window_body()
{
  nk_button(...);
  nk_button(...);
  nk_edit(...);
}

Так как это именно отрисовка а не создание, то можно строить очень динамичные интерфейсы.

bool show_edit = true;

void draw_window_body()
{
  // nk_button() возвращает true если по ней кликнули
  if (nk_button(...)) show_edit = true;
  if (nk_button(...)) show_edit = false;
  
  if (show_edit) nk_edit(...);
}
MOPKOBKA ★★★★★
()
Последнее исправление: MOPKOBKA (всего исправлений: 1)
Ответ на: комментарий от anonymous

Если ставить chroot, то не будет интеграции с системой основной. Надо как в винде, кликнул по exe, он и запустился. Вместо этого я постоянно пополняю свою папку скриптов для сборки старых программ в новых окружениях.

MOPKOBKA ★★★★★
()
Последнее исправление: MOPKOBKA (всего исправлений: 2)
Ответ на: комментарий от Qui-Gon

понятно что писать на тулките офисно-десктопное приложение это нормально

А на чем по мнению авторитетных профессионалов надо писать свою программу радиолюбителю, умеющему программировать на Си? Например если это интерфейс взаимодействия с его же микроконтроллерным изделием подключенным к компу через usb(преобразователь usb-com)? Сразу скажу что с освоением QT радиолюбитель не справится. Я честно когда-то пытался документацию почитать. «Утонул».

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

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

anonymous
()