Домой Софт и приложения Linux Эмулятор терминала Kitty 0.49 получил поддержку пользовательских шейдеров

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

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

2
0

Разработчики GPU-ускоряемого эмулятора терминала Kitty представили версию 0.49. Главным нововведением релиза стала поддержка пользовательских шейдеров, что позволяет интегрировать различные визуальные эффекты непосредственно в среду терминала. Среди возможных вариантов использования — создание анимированных фонов, подсветка активных областей, эффекты перемещения курсора и анимации при кликах мыши, реализуемые за счет вычислительных мощностей графического процессора.

интерфейс эмулятора терминала Kitty 0.49

Оптимизация производительности и ускорение обработки данных

Обновление принесло существенные улучшения в быстродействие. Разработчики заявляют, что реальная пропускная способность Kitty увеличилась на 15–35 % в зависимости от выполняемых задач. Особое внимание было уделено работе с большими объемами текста: при использовании буфера прокрутки (scrollback), превышающего размер кеша процессора, скорость возросла на 35 %. Рабочие процессы с преобладанием символов ASCII стали быстрее примерно на 50 %, а нагрузки, связанные с Unicode — на 15 %.

Значительная часть прироста производительности достигнута благодаря оптимизации декодирования UTF-8 с помощью инструкций SIMD. Декодирование ASCII ускорилось на 20 %, а работа с многобайтовым текстом на системах x86 и ARM стала быстрее примерно на 50 %. Владельцы процессоров Intel архитектуры Ice Lake и новее, а также AMD Zen 4 и последующих поколений, получили поддержку AVX-512, которая дополнительно ускоряет обработку многобайтового текста еще на 75 %. Обработка кода Escape-последовательностей стала эффективнее на 30 % благодаря изменениям в механизмах блокировки ввода и парсинга параметров CSI. Дополнительные SIMD-оптимизации для печатных символов ASCII обеспечили еще 10 % прироста в задачах с большими массивами простого текста.

Графика и дополнительные функциональные возможности

Скорость альфа-смешивания для изображений и кадров анимации в графическом протоколе выросла в 2–3,5 раза. Аналогичные оптимизации с использованием векторизованных примитивов компоновки применили для альфа-масок глифов. Для уменьшения нагрузки при перерисовке Kitty теперь кеширует результаты формирования текста через библиотеку HarfBuzz.

Интерфейс и настройки

Пользователям стали доступны новые параметры конфигурации. Опция window_border_radius позволяет скруглять границы окон, а remap_modifiers дает возможность изменять поведение клавиш-модификаторов. В макете Splits реализована политика пропорционального изменения размеров, сохраняющая настроенные соотношения сторон при манипуляциях с панелями. Полоса прокрутки получила режим scrolled-or-hovered, при котором она отображается только во время скроллинга или при наведении курсора.

Расширение функционала

Команда kitten @ screenshot позволяет делать снимки экрана в формате PNG для отдельных окон, вкладок или всего окна ОС. С помощью kitten @ set-os-window-title можно менять заголовок уже открытого окна. Кроме того, появилась возможность перетаскивать выделенный текст в другие приложения. Вертикальные вкладки теперь лучше обрабатывают многострочные названия, а функция remember_window_size научилась запоминать состояние максимизации окна. Сессии теперь корректно сохраняют и восстанавливают неактивные макеты. Для пользователей Linux исправлены задержки при отображении символов, отсутствующих в основном шрифте, а также устранены проблемы в Wayland, касающиеся работы колеса прокрутки высокого разрешения и общего буфера обмена в изолированных контейнерах.

Источник: https://linuxiac.com