Ещё одно изменение, которого стоит ожидать в GNOME 49 в сентябре, — это улучшенная/более быстрая прямая отрисовка для большего количества приложений благодаря изменению, которое было внесено в компоновщик Mutter на прошлой неделе.
Изменение Mutter, предложенное Робертом Мадером, заключается в использовании непрозрачных форматов вместо прямого сканирования по пути кода Wayland DMA-BUF.
Мадер объяснил это в запросе на слияние:
Многие механизмы отображения, особенно старые или более простые, поддерживают только непрозрачные форматы. Однако многим клиентам требуются форматы с альфа-каналом для оформления, и они не могут легко менять форматы по требованию в ситуациях, когда их окна полностью непрозрачны, например в полноэкранном или мозаичном режиме. Вместо этого они используют непрозрачные области — функцию, присутствующую как в Wayland, так и в EWMH, — чтобы сообщать компоновщикам о частичной или полной непрозрачности. В случаях полной непрозрачности мы можем воспользоваться этими знаниями и заменить альфа-формат на его непрозрачный вариант при передаче буферов в KMS для сканирования. Т.е. Мы «лжем» KMS насчет формата, потому что знаем, что визуальный результат равен тому, который мы получили бы, если бы механизм отображения поддерживал альфа-формат.
В результате мы гораздо чаще используем прямые пути сканирования для распространённых сценариев использования, таких как воспроизведение видео в полноэкранном режиме, на затронутых устройствах, что снижает потребление ресурсов.
Этот «трюк» уже много лет используется другими композиторами, такими как Уэстон, и, по-видимому, работает со всеми вышестоящими модификаторами. Теоретически могут существовать модификаторы, для которых это предположение не верно, однако это кажется маловероятным, поэтому пока не будем блокировать их.
Чтобы клиенты (Mesa) могли соответствующим образом переключаться на модификаторы/флаги/и т. д. сканирования, нам также необходимо добавить фактически не поддерживаемые альфа-форматы в пакеты сканирования.
Теперь больше приложений, работающих под GNOME 49 Mutter, будут поддерживать
прямое сканирование и, следовательно, будут работать быстрее и эффективнее.
🔄 Автоматический перевод источника: www.phoronix.com.