Про GUI программ и операционных систем

Jan 29, 2024 19:34


Итак, я сейчас буду рассказывать про ОЧЕНЬ ЭКЗОТИЧЕСКИЙ «крайний случай», как это называется в отладке. Однако, хоть и экзотический - он абсолютно живой. В смысле, я так работаю.

О чём речь? О поддержке двух мониторов виндой и некоторых «зевках» разработчиков интерфейса.

У меня два монитора: 2560х1440 17.3'' родной ноутбучный и 1920х1080 15.6'' асусовский зенскрин.

В очередной раз не удержусь от похвалы: зенскрин безусловно имеет объективные недостатки, но несмотря на них - ОФИГИТЕЛЬНО классная штука! Если кто не в курсе - фактически, экран от 15-дюймового ноута, оформленный как самостоятельный суперкомпактный монитор, получающий и питание, и сигнал по одному кабелю USB-C (displayport).

В силу малой диагонали и большого разрешения, основной экран у меня в винде настроен на масштабирование изображения (125% вместо рекомендованных виндой 150%, ибо их омерзительно раздутый интерфейс и на 100% отжирает непозволительно много полезной площади экрана). Второй экран стоит без масштабирования (то есть, 100%, хотя винда рекомендует 125%, но см.пред.пункт) и, САМОЕ ГЛАВНОЕ - второй монитор у меня повёрнут «стоймя», в портретную ориентацию. Собственно, про это я уже, помнится, рассказывал. Конфигурация вполне удобная, всем меня устраивает.



По сравнению с прошлым моим постом на эту тему винда стала работать лучше, но некоторые ляпы всё ещё сохраняются, из забавного - если программу тащить с монитора на монитор мышкой - её размер меняется не так, как если её перекинуть хоткой (Win+Shift+Left/Right, если кто не знал - очень полезная хотка, если сидишь на двух мониторах). Так что винде ставим четвёрку, но держим в уме, что надо чинить дальше, больше и лучше.

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

Из недавного - запустил какую-то игрушку. Она ушла в полноэкранный режим (игрушки это любят, ага) и... напрочь поломала мне расклакду окон по мониторам. Причём я даже не могу сказать, что «все улетели на основной монитор», ибо некоторые наоборот, улетели на второй. Там ещё и с масштабированием (да-да, тем самым, 125% от винды) были некоторые грабли. Это, к слову, изрядный камень в огород как раз винды, ибо ни одна программа НЕ ДОЛЖНА иметь ни прав, ни возможности поломать что бы то ни было в пользовательских настройках (правда, есть нюансы вроде всяких оконных менеджеров, но это был явно другой случай).

Другой роскошный пример - та-дам! - драйвера видеокарт. У меня в ноуте стоит процессор АМД со встройкой (весьма рекомендую Райзены и для игр, и для работы программиста) и отдельная ноутбучно-игровая нВидиа (будучи давним сторонником «зелёных» в этот раз очень сильно смотрел в сторону «красных», но 6800м на рынке в тот момент не было и взял 3070, но с ноутом я вообще несколько промахнулся, надо было брать китайца, там и 3080 на 16 гб, и монитор 16:10, а не 16:9, и цена ниже - что меня и отпугнуло сдуру).

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

Обновление драйверов АМД работает в обратном порядке: отключает основной монитор, все окна улетают на второй, он тоже гаснет, включается основной, все окна прилетают на него, включается второй, винда спохватывается и утаскивает нужные окна на нужные места. Типа тоже норм.

В любом случае настоятельно рекомендуется ребут, ибо там под капотом остаются разные забавные артефакты «былой роскоши», но после обновления драйверов именно видеокарты на «до костей мозга» гуёвой оси - это совершенно нормально. Просто выглядит в процессе немного... странно.

Ну и теперь - к братьям по разуму, программистам. Играю в некую игрушку. Аффтары спроектировали дизайн под 16:9 строго и при попытке менять размер окна старательно держат пропорции... АДНАКА, если нажать виндовую хотку Win+стрелочка - окно ресайзится виндой без оглядки на мнение программы (ну или разрабы забыли повесить хуки на соответствующие коллбэки) и в результате очень интересно наблюдать, как разные элементы гуя разъезжаются из-за привязки к разным местам. Штатно всякие кнопочки/текст и прочая привязываются или к произвольному углу, или к произвольной стороне, или сразу к нескольким (если, например, объект должен быть по центру вверху - привязываем к верхней границе и одновременно к левой и правой, в результате при растягивании окна объект остаётся, где надо). В общем, типичная нехватка тестирования. :-)

варез, грустя, юмор

Previous post Next post
Up