LINUX.ORG.RU

Текстовый редактор Zed теперь официально поддерживает Linux

 , , ,


1

2

Написанный на языке Rust и использующий аппаратное ускорение рендеринга UI текстовый редактор Zed теперь поддерживает Linux. Команда разработчиков Zed начала выпускать официальные сборки этого редактора, которые должны работать на большинстве современных Linux систем. Для установки редактора предлагается запустить команду curl https://zed.dev/install.sh | sh.

Для аппаратного ускорения Zed под Linux использует Vulkan API.

В работе по поддержанию платформы Linux приняло участие 133 человека, сделавших 447 пул реквеста. Судя по описанию вклада одного из них Zed поддерживает как Wayland так и X11.

Репозиторий исходных текстов

>>> Подробности



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

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

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

А иксы-то тут каким боком? Про иксы вообще никто даже слова не сказал кроме тебя.

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

Ну ты ведь в курсе, да, что разрешение экрана с тех пор возросло кабы не на два десятичных порядка (в смысле общего количества пикселей)? А общее количество рисуемых пикселей за кадр — и того больше, т. к. интерфейсы никто не дизайнит и не рисует попиксельно?

Ну ты в курсе, да, что процессоры с тех пор по частоте стали быстрее раз в 20, по количеству инструкций на цикл – аналогично, а по количеству ядер…

Ты не поверишь.

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

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

GPUI rasterizes the entire window on the GPU, just like a 3D video game.

Zed collects anonymous telemetry data to help…

Отлично, самое главное присутствует, пойду обновлю видеокарту и сразу буду установливать…

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

Самое время вспомнить в каком разрешении квейк рисовался на CPU и сколько там было фпс.

Текстовый редактор сложнее чем шутеры?

Не исключено. Всякие юникоды, биди, име, фонт шейпинги, хинтинги, алгоритмы подсветки кода, автокомплиты итд итп. Ставлю на то что уже давно переплюнули ретрошутеры по сложности.

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

Самое время вспомнить в каком разрешении квейк рисовался на CPU и сколько там было фпс.

Отрисовал недавно Quake 2 в 5k на 120fps с целиком софтварным рендерингом. Т.е. код Кармака спустя почти 30 лет может, а зумеры не могут.

Не исключено. Всякие юникоды, биди, име, фонт шейпинги, хинтинги, алгоритмы подсветки кода, автокомплиты итд итп. Ставлю на то что уже давно переплюнули ретрошутеры по сложности.

А автокомплит-то тут причём? Если у них автокомплит, подсветка и LSP в одном треде с отрисовкой, то этих ребят пора закапывать, но я очень надеюсь, что там всё не настолько плохо.

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

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

А стоило бы. Выше, впрочем, всё уже расписали за меня.

процессоры с тех пор по частоте стали быстрее раз в 20

20 < 100

а по количеству ядер

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

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

процессоры с тех пор по частоте стали быстрее раз в 20

20 < 100

Лул про IPC ты специально забыл. Посмотрел на cpubenchmark, там нынешний Ryzen 7840H (у меня в ляптопе такой) быстрее Pentium 2 примерно раз в 60 на одном ядре. Если со всеми ядрами, то раз в 400.

Осталось только придумать, как распараллелить, скажем, заливку или копирование плоскостей…

Как memset и memcpy распараллелить? Ты прикалываешься, что ли?

Но речь даже не об этом. Речь о том, что даже при всём этом великолепии и отрисовке на GPU, эта срань всё равно лагает как сучка. 60 миллисекунд чтобы нарисовать буковку – это чудовищно много.

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

Подозреваю, что речь про Kate — весьма достойный, кстати, редактор, построенный на нормальном стеке технологий.

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

Главная фишка Zed - это его скорость

Нет, ну а все-таки - скорость чего?
Я смогу быстрее топтать клавиши?
Я смогу быстрее думать какие клавиши топтать?
Допустим и то и другое - это скажется положительно на качестве натоптанного?

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

Вероятно речь идёт об отзывчивости.

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

Подозреваю, что речь про Kate — весьма достойный, кстати, редактор, построенный на нормальном стеке технологий.

Он уже победил VS Code по популярности? Если нет, почему?

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

Это скорее эстетика. Примерно то, за что все любят продукцию эпл. Скорость отзывчивости, приятность интерфейса. Так-то конечно можно и по телеграфу код набирать. Но согласен что обещания скорости, в особенности слово lightweight, превратились в невыносимую чушь, которую уже читать невозможно.

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

Аргумент, но не уверен, что популярность — самое важное качество текстового редактора, да и софта вообще. Так можно вспомнить про крохи процентов у десктопного GNU/Linux и разойтись.

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

GPU это хорошая пропускная способность и плохая отзывчивость (как впрочем все компьютерные технологии последних 15 лет). Чтобы это работало хорошо, нужно GPU нагрузить заданиями под завязку и пореже требовать результат. Возможно, если у тебя мегапечь числодробилка вместо процессора, никакого преимущества от GPU и не будет, даже хуже станет, но у большинства оно всё-таки есть, если уж не при изначальной отрисовке буковки, то хотя бы при последующих перерисовках.

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

А как насчёт принудительной отрисовки эмулятора терминала на GPU?

Вот, например, мне приходится достаточно много работать с WSL. В качестве X-сервера — внешний VcXSrv. И вот условный XTerm я запустить могу, а Kitty и Alacritty — нет.

Bass ★★★★★
()

оно и видно что на расте, архив с релизом на 120 метров (в 10 раз больше neovim, при этом в 10 раз меньше фич) 🤡

Хотя на 120 метров там наверно и x86 и arm64. Ну ладно, ошибся, всего в 5 раз больше получается 🤡

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

использующий аппаратное ускорение рендеринга UI

Что в текстовом редакторе ускорять?

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

Лул про IPC ты специально забыл

Нет, просто ты не вдупляешь, что IPC берётся не из воздуха, и отрисовка интерфейса упрётся в один-два порта и пропускную способность памяти. Там нет никакого instruction-level параллелизма.

Как memset и memcpy распараллелить? Ты прикалываешься, что ли?

Ну то есть про количество ядер ты хрень нанёс, получается.

эта срань всё равно лагает как сучка. 60 миллисекунд чтобы нарисовать буковку – это чудовищно много

Предложи вариант лучше (и нет, edit.exe под MS-DOS — это не «лучше»). Судя по их блогу и глагне, они предлагают наименьший инпут лаг, и пока не доказано обратное, у меня нет оснований им не верить.

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

Популярность влияет на всякого рода плагины и на дальнейшее развитие проекта. И в конечном итоге это именно про «код писать».

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

Так можно вспомнить про крохи процентов у десктопного GNU/Linux и разойтись.

Ну так именно это и происходит.

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

Нет, просто ты не вдупляешь, что IPC берётся не из воздуха, и отрисовка интерфейса упрётся в один-два порта и пропускную способность памяти. Там нет никакого instruction-level параллелизма.

Отрисовка стены текста упрётся в пропускную способность памяти? Что?

Ну то есть про количество ядер ты хрень нанёс, получается.

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

Предложи вариант лучше (и нет, edit.exe под MS-DOS — это не «лучше»).

Тот же GVim на GTK2 (который рисует целиком на CPU лол) уделывает эти ваши Zed и VSCode к чертям.

https://pavelfatin.com/typing-with-pleasure/

Смотри-ка, даже древние гномеры, делавшие GTK2, могут. А зумеры с графическим ускорением – нет. Как же так-то?!

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

GPU это хорошая пропускная способность и плохая отзывчивость (как впрочем все компьютерные технологии последних 15 лет). Чтобы это работало хорошо, нужно GPU нагрузить заданиями под завязку и пореже требовать результат. Возможно, если у тебя мегапечь числодробилка вместо процессора, никакого преимущества от GPU и не будет, даже хуже станет, но у большинства оно всё-таки есть, если уж не при изначальной отрисовке буковки, то хотя бы при последующих перерисовках.

Смотри выше ссылку про GVim+GTK2. На вполне ноутбучном процессоре из 2015 вроде он всё равно рисует быстрее атома (который редактор) с граф.ускорением.

Получается, что для отрисовки текста рендеринг на GPU хуже примерно всегда.

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

в zed от tree-sitter’а используется только лексер и таблицы разбора

Ой, не целиком на Rust, оказывается. Дошло?

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

Зачем плагинами обмазывать редактор, в котором изначально всё есть?

на дальнейшее развитие проекта

Ему под KDE хорошо, развивается.

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

Отрисовка стены текста упрётся в пропускную способность памяти? Что?

Ты продолжаешь упорно игнорировать тот факт, что стена текста и не-стена текста — это одно и то же с точки зрения количества пикселей.

Почитай, зачем вообще GUI стали пытаться рисовать на GPU, что ли.

Тот же GVim на GTK2 (который рисует целиком на CPU лол) уделывает эти ваши Zed и VSCode к чертям.

Учитывая в 5 раз отличающиеся результаты для одного и того же Sublime Text, я делаю очевидный вывод, что они измеряют разные вещи.

Ну и да, gvim без ничего — это именно что edit.exe под MS-DOS.

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

Речь о винде, под которой можно писать для Linux.

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

Таблицы разбора — это статические данные. Лексер — это по сути байт-код, и Zed его компилирует в WASM.

А ещё, о ужас, там под капотом libc, она тоже на каком-то другом языке !!1! А ещё где-нибудь вызов blas, она вообще на фортране.

Хватит уже этой клоунады :-) Очевидно, что имелось в виду.

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

Почитай, зачем вообще GUI стали пытаться рисовать на GPU, что ли.

Где мне это почитать?

Алсо, там будет написано, почему даже сраная Windows XP в виртуалке, растянутая в 5k, по отзывчивости и скорости работы уделывает гном?

Учитывая в 5 раз отличающиеся результаты для одного и того же Sublime Text, я делаю очевидный вывод, что они измеряют разные вещи.

Там измеряют время от нажатия клавиши до появления буковки на экране. Если у Sublime дикий разброс, то это проблема Sublime. Возможно, там пистон пошёл мусор собирать, я не знаю.

Ну и да, gvim без ничего — это именно что edit.exe под MS-DOS.

Ну-ну. Убеждай себя в этом. Главное – верить!

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

Зачем плагинами обмазывать редактор, в котором изначально всё есть?

Да ладно. А вот это там есть или на сколько трудно прикрутить? Чувак в emacs прикрутил и на нём же разработал.

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

Алсо, там будет написано, почему даже сраная Windows XP в виртуалке, растянутая в 5k, по отзывчивости уделывает гном?

Не знаю, враньё много где будет написано. Я отлично помню, как работает Windows XP в виртуалке.

Там измеряют время от нажатия клавиши до появления буковки на экране. Если у Sublime дикий разброс, то это проблема Sublime. Возможно, там пистон пошёл мусор собирать, я не знаю.

Все остальные результаты там точно так же отличаются от тех, что у Zed.

Ну-ну. Убеждай себя в этом.

Я пользовался и тем, и другим, а ты можешь продолжать убеждать себя :-)

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

Это ещё один язык программирования. Не важно, что это игрушка. Важно - на сколько легко добавить поддержку нового ЯП.

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

Подсветка через KSyntaxHighlighting реализована, ну и там есть LSP.

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

Не знаю, враньё много где будет написано. Я отлично помню, как работает Windows XP в виртуалке.

Возможно, у тебя маразм. Это в принципе бы объяснило твоё поведение на ЛОРе.

Все остальные результаты там точно так же отличаются от тех, что у Zed.

Ну, да? Разные люди на разном железе с разницей в несколько лет запускали слегка разный код. Тем не менее, общий тренд сохраняется: отрисовка без GPU показывает меньшую латентность. Перцы из Zed вроде как даже методологию не опубликовали, у них просто рекламный график. Хотя то, что их поделка медленнее даже Clion, заставляет задуматься.

Я пользовался и тем, и другим, а ты можешь продолжать убеждать себя :-)

А зачем убеждать? Это всё легко проверяется и проверялось разными людьми много раз: отрисовка простых интерфейсов без эффектов, прозрачностей и прочей ненужной фигни, на CPU оказывается быстрее чем с граф.ускорением. Поэтому, я считаю, стоит это назвать «графическим замедлением».

Так-то я вполне понимаю, зачем они это делают: потому что в nodejs+electron делать софтварный рендеринг – это жопу себе порвать, тем более что Blink уже рисует шейдерами ибо WebGL и прочая хтонь. Но это проблема Blink/Electron/NodeJS, к текстовым редакторам как таковым это отношения не имеет.

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

А зачем убеждать? Это всё легко проверяется и проверялось разными людьми много раз: отрисовка простых интерфейсов без эффектов, прозрачностей и прочей ненужной фигни, на CPU оказывается быстрее чем с граф.ускорением. Поэтому, я считаю, стоит это назвать «графическим замедлением».

То же самое можно спросить у разработчиков alacritty, кстати. Абсолютно бесполезный терминал без вкладок, зато аппаратно ускоренный и типа быстрее других.

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

аппаратно ускоренный и типа быстрее других

Когда я проверял в последний раз, Rio был быстрее. Тоже на Rust.

dataman ★★★★★
()

Анти-vim какой-то. Скачала-поставила, набираю zed - тишина. Вызываю из меню - тишина. Нашла в дебрях каталогов, запускаю - тишина. Как в него войти?

Хм… А в памяти висит, окна только нет.

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

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

Хотя то, что их поделка медленнее даже Clion, заставляет задуматься

возможно, у тебя маразм

Нет, ты (c)

Откуда ты это взял вообще?

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

Хотя то, что их поделка медленнее даже Clion, заставляет задуматься

Откуда ты это взял вообще?

сорян, не туда посмотрел. Тезис про Clion снимается.

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

Спроси это работодателей.

Чтобы можно было написать в Что мы предлагаем: ОС и железо на выбор.

Или покрасоваться: а у нас маки.

А оказывается под капотом у них венда

TurboPascal79
()

Это для смузихлебов. Увы, мне не понять.

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

«Ускорение» отрисовки текстового редактора через GPU – это просто хтонь какая-то.

Наоборот, отлично. Выделяешь мышкой 12 строк и отправляешь их правым кликом чапать через полфайла. И они чапают.

Smacker ★★★★★
()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.