LINUX.ORG.RU

Полноэкранное субпиксельное - теперь с резкостью

 , , , subpixel,


0

1

Продолжаю предыдущую тему.

Проблема с резкостью решилась слабым повышением контраста (ровно до уровня freetype). Думаю, за этим можно и работать. Ещё бы железо позволяло :D (при одиночном проходе нагрузка утроена, до дискретки так и не дошёл).

Часть greyscale простыни из шейдера выкинул - синусы и билинейное не очень то и сдались, комфорт важнее CRT-шной ламповости.

Заодно обоину сменил (тоже 4k). На предыдущей оказались аберрации прямо по всему изображению.

Если что, этот скрин в нормальном масштабе (субпиксельная раскладка - горизонтальное RGB).
Исправить радугу возможно если ваша субпиксельная раскладка поддерживается fontconfig/freetype (только линейный RGB и её повёрнутые варианты). Для BGR - на 180 градусов, верт. RGB - вправо на 90, верт. BGR - влево на 90. Для всего остального (двухмерные раскладки какого-нибудь pentile или просто перестановки типа GBR/GRB, если такие вообще бывают) - ничего не поделать (а вообще, у меня свербит как-нибудь запилить в шейдер и pentile и даже старый добрый CRT, у которого сетка регулярная, но кишит тригонометрией).

Ред.: старая ссылка в вики с шейдером сломалась, т.к. предыдущий заголовок мне показался не очень подходящий (после того, как выкинул ненужные greyscale фильтры).

https://github.com/yshui/picom/wiki/Shader-Shop#fullscreen-subpixel-antialiasing

>>> Просмотр (2732x1536, 1987 Kb)



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

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

Чеклист:

  • Вы подогнали масштаб к своему монитору, т.е. к 1:1?
  • У вас раскладка - из поддерживаемых fontconfig? (т.е. вариации линейного RGB)
  • Вы убедились, что ориентация изображения соответствует ориентации субпиксельной раскладки?
nick87720z
() автор топика
Ответ на: комментарий от kott

Незаданный вопрос не хороший вопрос, т.к. не задан - значит, не вопрос. Ваш поток сознания не яснее моего.

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

Айда со мной, мне разведчики пригодятся.

Если это нормальный путь судейства, то это ресурс в топку. Я не раб системы лайков, отмены и идеологических трендов.

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

это троллинг такой, подтверждать непонятный поток сознания?

Не, просто челик на своей волне. Если сделать над собой усилие и втянуться, то можно дискутировать и оценивать (тебе же на оценку и выставили).

Roy-Batty
()
Ответ на: комментарий от nick87720z

Я не раб системы лайков, отмены и идеологических трендов.

Оно и видно xD

token_polyak ★★★★
()
Ответ на: комментарий от Roy-Batty

Дело в изложении, хоть сама тема может быть интересна, но хаотичные обрывки мыслей-фраз и рандомная пунктуация отбивают желание в чота вникать.

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

Рандомная пунктуация - это как вот это лишняя запятая?

после того, как выкинул ненужные greyscale фильтры

Что до обрывков мыслей - почему-то я не вижу, почему они считаются несвязными, когда они связные. Нужны примеры.

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

Вот и есть пример изложения. Мыло… как понять, на скрине мыло или может автора на мыло))).

nick87720z
() автор топика
Ответ на: комментарий от Roy-Batty

Или может, просто раздел не тот. Скриншоты, видимо, так - полюбоваться. А для такого хорошо бы отдельную тему. Только сейчас заметил, что редактировать топик-старт нельзя (и по-моему, не только его). Обычно это полезно, чтоб поддерживать его в актуальном состоянии. Хотя раньше я об этом и не думал :) .

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

У меня переливы заметны на графике в gnuplot. Ну и закруглённые углы не на том фоне (хотя как-раз тут отличный пример, на фоне чёрного терминала).

С восстановлением контраста всё ещё разбираться. Если через FFT, то при фильтрации частот с периодом меньше 3px всё станосится жирнее, чем даже в первом скрине, хотя читаемость сохраняется (только недавно понял, что такой же результат получается свёрткой с sinc).

nick87720z
() автор топика

А как сделано чтобы при максимизированном окне заголовок был на посередине верхней панели крысы?

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

Это апплеты windowck, а сам xfwm4 просто скрывается.

nick87720z
() автор топика

Ну хоть кто-то делом занимается. Раньше Фильтрыч годные посты размещал в Галерее.

Mirage1_
()

По-моему ещё хуже стало. Или эффект неоновой цветной подсветки краёв окон — это намеренный эффект и именно закос под неон?

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

Никакой не закос. Просто этот фильтр должен применяться ко всему экрану, но вместо этого применяется к отдельным окнам. Просто picom пока по другому не умеет (опция --window-filter-fg), так-что считайте это концептом, и на края не обращайте внимания.

Сейчас я отрабатываю саму фильтрацию - пробую разные варианты для коррекции резкости после исходной коробки 3x. Возможно, нужен синтетический тест и даже режим калибровки (тот же шейдер, но вместо контента выводил бы ту самую синтетику).

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

В моем видении хроматические абберации наоборот вносят определенную ламповость как раз таки. Вернее напрямую и вносят

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

Навести цветовые искажения - не проблема, тут даже FSAA не нужно. :). Банальное выделение края умноженное на те самые аберрации. Но я, всё-таки, за эстетику. Главное свойство CRT для меня - это некая аналоговость ЭЛТ, когда пикселизация незаметно, т.к. там размытие субпиксельного масштаба на уровне самой матрицы.

Кстати, на обоих скринах - субпиксельная фильтрация неправильная, т.к. нет гамма-коррекции. В аналогичной теме, на старом форуме imagemagick, команда для ресайза с ремиксом для LCD RGB с первого поста - делала -gamma 0.5 до обработки и -gamma 2.0 после.

Проблема обнаружилась только при синтетическом тесте - ровной картинке с квадратами и узорами, с разным субпиксельным сдвигом. У линий шириной в 3/3px при выводе через 3-пиксельный бокс выделялся центральный субпиксельный компонент, придавая соответствующую окраску (например, при размытии несдвинутой линии - окраска зелёная). Тогда я и понял, что что-то не так (т.к. не может быть такого). Т.к. по хорошему - фильтрация коробки коробкой даёт треугольник, который по сути - пара линейных субпиксельных градиентов, у которых цветовые блики на краях - на порядки меньше, чем у исходной коробки.

Причём, после добавления гамма-коррекции даже восстановление чёткости не особо нужно (и то - это если на пиксельном уровне, на субпиксельном так вообще - всё, что я попробовал, делает только хуже, приводя к вышеописанному дисбалансу, как например [1,1,1] x [-1,N+2,-1] или [-1, -1, N-1, N, N-1, -1, -1]).

P.S. Шрифты после добавление гамма-коррекции выглядят примерно как у меня раньше было в qt, когда части линий, при светлой цветовой гамме, казались бледными (возможно, qt4 - уже не помню).

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

Что-то не торт. Чтобы кайф был, смотреть на 4k монике нужно или на 13" FHD ноутбуке?

На 24" FHD на скрине обычное ubuntu-style-мыло (без радуги, и на том спасибо) с размером субъективно ~вдвое больше чем в win, и это при худшей читаемости.

yu-boot ★★★★
()

Зачем я сюда зашёл? У меня в 2007 шрифты лучше были.

fallout_boy_without_eye_protection.jpg

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

Всем, кому показалось мыло: на обоях и даже иконках и правда мыло. Причина здесь (у меня как раз xfdesktop 4.16.1): https://gitlab.xfce.org/xfce/xfdesktop/-/issues/45

Запустил с GDK_SCALE=1 GDK_DPI_SCALE=1, мыло изчезло. Остаётся как-то накатить себе исправления из багрепорта.

Выглядит так, что не изображения масштабируются, а пиксели, после рендеринга в физическое разрешение. Хотя - в самом обсуждении пишут, что просто картинка растягивается, потом сжимается, и каждый раз получает чуть-чуть размытие (уж для сжатия можно было бы и lanczos или catrom заюзать, хотя тут уже дело вкуса, вдруг кому т.н. «волны поддержки» не понравятся).

nick87720z
() автор топика
Ответ на: комментарий от yu-boot

@cocucka и @yu-boot
Всем, у кого мыло - пример для сравнения.

subpixel-screenshot-cmp-fit-vs-unfit.png

Слева - оригинал, справа - он же, но через chromium.
Из браузеров, не портящих масштаб, могу назвать surf (возможно, любые на webkit-gtk). Про qt’шные (на QtWebEngine) не знаю, не проверял. Или может, лучше скачать и открыть локально.

Если у вас - как справа, то ничего удивительного. А радугу справа, при таком количестве мыла, не сильно видно, так что не показатель. Идеальный вариант - скачать и открыть локально.

Про убунтовское размытие не знаю - шрифты как шрифты. Насколько я заметил, никакие дистрибутивы не ставят lcdlight по умолчанию (а пользователи, как я на тот момент, мало понимают, чем они отличаются).

++

На счёт где лучше смотреть - главное, чтоб пиксели совпадали. У меня DPI - 101, и разницу видно (её и на 106 видно). Тем более если 91 (как на 24" FHD).

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

+1, вообще очередной дубль так и просится (в связи с гамма-коррекцией).

Пока в picom не завезли полноэкранные шейдеры, придётся в два шага (первый скрин - без фильтрации вообще, потом открыть в feh или display и на это окно уже фильтр).

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

У меня может вопрос и наивный, но вполне логичный: почему шрифты нельзя сглаживать так, как сглаживаются любые 2D объекты? Имеется ввиду без rgb-сглаживания. Greyscale, как я вижу, тоже не идеально сглаживает

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

Если на словах - при субпиксельной фильтрации это как если рассматривать объект через матовое стекло. Края размыты, но общую форму разглядеть можно. Тогда greyscale - это если матовое стекло заменить на мозаику из стеклянных кубиков (я такую один раз в школе видел), через которую только освещение и делать.

Вот тут нормальные интерактивные примеры: https://entropymine.com/imageworsener/subpixel/

Правильный (не как у меня, не говоря уже о xfdesktop-4.16.1) пример с фото: https://imagemagick.org/discourse-server/viewtopic.php?t=19120

nick87720z
() автор топика
Последнее исправление: nick87720z (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.