Добавить в корзинуПозвонить
Найти в Дзене
Герман Геншин

Акселерация GPU в терминалах Linux: что это и зачем это нужно

Терминал Linux выполняет множество задач, но в основном он отображает строки текста. Хотя это не самое привычное применение GPU, такие терминалы могут использовать его возможности самыми интересными способами. Вы можете ожидать, что терминал с акселерацией GPU будет обладать эффектными анимациями и современными визуальными эффектами. Хотя это действительно возможно, такие эффекты можно добавить и без использования GPU. В мире есть более эффектные терминалы, например, GhosTTY, который предлагает встроенные вкладки, но такие случаи, как правило, скорее исключение. В большинстве случаев терминалы с акселерацией GPU визуально не будут существенно отличаться от «обычных». Они могут ощущаться немного иначе благодаря факторам, о которых мы поговорим позже, но в целом ваши команды будут выглядеть так же, как и в любом другом терминале. С другой стороны, хотя добавление GPU предлагает множество преимуществ, есть и недостатки. Например, вы можете заметить лёгкую задержку на системах с двумя GPU
Оглавление

Краткое содержание

Терминал Linux выполняет множество задач, но в основном он отображает строки текста. Хотя это не самое привычное применение GPU, такие терминалы могут использовать его возможности самыми интересными способами.

Чем отличается терминал с акселерацией GPU?

Вы можете ожидать, что терминал с акселерацией GPU будет обладать эффектными анимациями и современными визуальными эффектами. Хотя это действительно возможно, такие эффекты можно добавить и без использования GPU.

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

-2

С другой стороны, хотя добавление GPU предлагает множество преимуществ, есть и недостатки. Например, вы можете заметить лёгкую задержку на системах с двумя GPU, таких как ноутбуки, чего не происходит с более традиционными терминалами. Это не слишком распространено, но случается, как указано в FAQ по терминалу Kitty.

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

Более высокие частоты обновления и плавная прокрутка

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

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

Терминалы с акселерацией GPU, как правило, обновляются вместе с экраном и почти всегда делают это более плавно. Это значит, что прокрутка истории команд ощущается гораздо комфортнее.

Хотя это несомненно улучшает общий опыт работы с терминалом, пока мы не видели ничего такого, что могло бы конкурентоспособно сравняться с терминалами с акселерацией GPU в плане скорости. Для этого стоит обратить внимание на то, что происходит при выполнении команд с большим объёмом вывода.

15 бесполезных команд Linux, которые должен знать каждый

Любой настоящий знаток Linux должен знать эти 15 бесполезных команд!

Более высокая общая производительность

Когда вы вводите команду в терминале, происходят два процесса: команда выполняется, и её вывод отображается в терминале. Обычно эти действия происходят очень быстро и воспринимаются как практически мгновенные, но на самом деле это два отдельных процесса, которые могут происходить последовательно или параллельно.

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

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

Вы можете протестировать это, выполнив команду find в своей корневой директории следующим образом:

-3

Запустив эту команду в Alacritty и (обычно довольно производительном) KDE Konsole, я заметил, что команда завершилась в Alacritty значительно быстрее, даже если я выполнил её в Konsole раньше. Обычно вы можете сэкономить секунду или две. Хотя это и приятно, ускорение производительности из-за более быстрого вывода терминала редко становится причиной, по которой люди переходят на терминал с акселерацией GPU.

Терминалы GPU разгружают ЦП

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

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

Приложения терминала с GPU, которые стоит попробовать

Теперь, когда вы знаете о некоторых преимуществах терминалов с акселерацией GPU, как их найти среди множества эмуляторов терминалов в Linux? Существует множество популярных вариантов, включая уже упомянутый GhostTTY.

-4

Kitty — это функциональный терминал, поддерживающий вкладки и окна, работу с графикой и шрифтами, а также многоуровенное рендеринг для минимальной задержки. У терминала множество настроек, хотя файл конфигурации на Python может показаться сложным для некоторых. К счастью, если вы хотите изменить только тему, вы можете сделать это с помощью команды kitten themes.

Другой популярный вариант — Alacritty, который меньше сосредоточен на функциональности и больше на чистой скорости. "Из коробки" терминал быстрый и легковесный, но вы можете настроить его для увеличения функциональных возможностей, по крайней мере, в определённых пределах. Например, здесь нет поддержки вкладок или сплитов, и планы по их добавлению отсутствуют.

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

Этот инструмент терминала Linux ускоряет команду history

Полное воспроизведение.

Если вам понравилась эта статья, подпишитесь, чтобы не пропустить еще много полезных статей!

Вы также можете читать наши материалы в: