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

С другой стороны, хотя добавление GPU в уравнение, безусловно, имеет множество плюсов, оно не лишено своих минусов. Например, вы можете заметить небольшую задержку во времени запуска на системах с двумя GPU, таких как ноутбуки, с которой вы просто не столкнетесь с более традиционным терминалом. Это не особенно распространено, но может случиться, как объясняется в FAQ по терминалу Kitty.
Конечно, для работы терминала с ускорением на GPU также требуется GPU. В большинстве случаев даже интегрированная графика обеспечит достаточно мощности, чтобы легко справиться с этой рабочей нагрузкой, но если вы работаете на старом ноутбуке, вам, возможно, захочется придерживаться приложения терминала по умолчанию на вашем рабочем столе.
Более высокая частота обновления и более плавная прокрутка
Мы склонны думать о частоте кадров для игр и другого визуально интенсивного программного обеспечения. Что касается текста, до недавнего времени плавное движение не стояло наверху списка приоритетов. Учитывая, как часто терминалы простаивают, это было особенно актуально для терминальных приложений.
Из-за этого многие традиционные терминальные приложения даже не прокручивают с частотой обновления экрана. Некоторые старые терминальные приложения по умолчанию используют 30 кадров в секунду, даже если монитор поддерживает более высокую частоту обновления. Это часто настраивается, но все равно это странное значение по умолчанию.
Терминалы с ускорением на GPU в большинстве случаев обновляются вместе с экраном и почти всегда обновляются более плавно. Это означает, что прокрутка истории команд назад кажется более плавной.
Хотя это, безусловно, может помочь улучшить ваш общий опыт работы с терминалом, до сих пор мы не видели ничего, что терминалы с ускорением GPU могли бы предложить с точки зрения чистой скорости. Для этого нам нужно будет более подробно рассмотреть, что происходит, когда вы запускаете команду с большим объемом вывода.

Более высокая общая производительность
Когда вы запускаете команду, в терминале происходят две вещи: команда, которую вы ввели, выполняется, и вывод отображается в терминале. Обычно это происходит в быстрой последовательности, до такой степени, что мы считаем их фактически мгновенными, но это два отдельных действия, происходящих либо последовательно, либо параллельно.
Это еще одна область, где терминалы с ускорением на GPU могут сэкономить вам немного времени. Для команд, которые генерируют много выходных данных (например, любая команда с флагами -v или —verbose), скорость вывода вашего терминала может стать узким местом для команды. Это происходит потому, что команда не будет выглядеть завершенной, пока не закончит печатать свои выходные данные.
Терминалы с ускорением на GPU, в основном по причинам, которые мы уже рассмотрели, могут отображать этот текст гораздо быстрее, чем традиционные программные терминалы. Чем быстрее выполняется вывод на печать, тем быстрее выполняется команда.
Вы можете проверить это, просто запустив команду find в корневом каталоге следующим образом:
находить /

Запустив эту команду в Alacritty по сравнению с (обычно довольно производительной) KDE Konsole, команда завершилась для меня в Alacritty заметно быстрее, даже если я запустил ее после команды в Konsole. Обычно вы смотрите только на экономию секунды или двух. Хотя это, безусловно, приятно, повышение производительности из-за более быстрого вывода терминала редко является причиной, по которой люди переключаются на терминал с ускорением на GPU.
Терминалы GPU разгружают работу CPU
Наконец, любое требование, которое терминал с ускорением GPU предъявляет к GPU, означает, что он не предъявляет этого требования к CPU. Во многих случаях эта разница может быть незначительной, но если вы, например, компилируете большой пакет, вы можете захотеть предоставить этому процессу как можно больше процессорного времени.
Конечно, есть и две стороны этого. Для более графически интенсивных терминальных приложений с яркими эффектами курсора или размытием текста в стиле CRT это будет использовать больше ресурсов ЦП в традиционном терминале. Использование GPU, даже со встроенной графикой, освобождает эти терминалы, чтобы немного повеселиться в отделе презентаций, не заставляя вас жертвовать скоростью, чтобы заплатить за это.
Приложения-терминалы на базе графического процессора, которые стоит попробовать
Теперь, когда вы знаете о некоторых преимуществах терминалов с ускорением на GPU, как найти их в море эмуляторов терминалов Linux? Существует множество популярных вариантов, включая GhostTTY, о котором мы уже упоминали.

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