Jak se zbavit rozmazaných programů při DPI 125% ve Windows 10

Na Windows 10 mě od začátku štvala spousta věcí. Některé z nich v rámci UI byly s updaty vyřešeny (například vrácení zvýraznění aktivního okna přebarvením horního pruhu), některé se asi z principu už zlepšovat nebudou (třeba automatické aktualizace funkcí, které ničí původní workflow). Řešení rozmazaných oken starších programů na full-HD displejích, které mnozí používají se zvětšením 125 %, je však kupodivu velmi jednoduché… jen trochu skryté.

disk-manager

125% zvětšení ovládacích prvků je ve Windows už od dob verze 3.1 ze začátku 90. let, jen tehdy se definovalo spolu s rozlišením a určovala ho hláška „large fonts“. S Windows 95 přibyla i možnost dalších zvětšení, ale mnohdy to vedlo k rozpadající se grafice programů, protože vývojáři tento parametr až tak precizně nekontrolovali (skoro všichni měli stejně jen 100 nebo 125 %). Tuším, že s Windows Vista začalo, že se všechny starší programy při nastavení 150 % a více začaly roztahovat jako obrázek (rozmazaně) a stejně to bylo ještě ve Windows 8.0. Nastavili jste si jedno zvětšení, to vám zůstalo na všech monitorech a programy nemusely řešit dynamickou změnu. Pro 100 a 125 % to fungovalo perfektně.

Pak ale přišlo nové řízení zvětšení fungující odděleně pro každý monitor. Mělo to vyřešit problémy s připojením externích monitorů a projektorů u notebooků s vysokým rozlišením (zvětšení 200+ %). Těm, co spokojeně používali zvětšení 125 %, to však problémy jen přidělalo. Jednak začaly být rozmazané všechny starší programy, které se neidentifikovaly jako schopné pracovat s dynamickým zvětšením podle obrazovky (ty, které dříve fungovaly korektně), a jednak pak byl celý obraz rozmazaný na externích monitorech, u kterých se ve výchozím stavu vždy nastavilo zvětšení 100 %. Windows neumí obsloužit různá zvětšení na více monitorech a ostrý obraz (i nových aplikací) zvládá jen na první obrazovce. Vede to pak ke smutným situacím, kdy starý program se kvůli prvnímu monitoru (125 %) roztáhne 1,25x jako obrázek, aby se pak při vykreslení na druhém monitoru zase zmenšil 1,25x. Jestli čekáte, že výsledek bude vypadat, jako by byl rovnou vykreslen v 100% zvětšení, tak ne, nebude.

Vynucení starého chování

Ve Windows 8.1 bylo možné nové řízení zvětšení vypnout. Ve Windows 10 se ovšem většina ovládacích panelů přepsala do jiného rozhraní a s tím se odstranila také řada možností. Hledal jsem v době vydání nějaká řešení na internetu a něco jsem dokonce našel. Většinou šlo o úpravu registrů, ale do několika hodin a pár restartů se systém vždy vrátil do výchozího nastavení.

Nevím, jestli se tak chovaly už první „desítky“, ale v aktuální podobě je řešení blíže, než jsem si vůbec myslel. Klikněte pravým tlačítkem myši na plochu a zvolte „Nastavení zobrazení“.

display-settings

Místo změny zvětšení prvkem v tomto okně pokračujte volbou „Upřesňující nastavení zobrazení“ a v novém okně zvolte „Upřesnit nastavení velikosti textu a jiných položek“. Tím se dostanete do klasického ovládacího panelu, kde v horním odstavci je podtržené „nastavit vlastní úroveň velikosti“. V okně, které je stejné snad od Windows 95 si zvolte 125% (pokud už je vybrané jako výchozí, tak nejdřív musíte zvolit něco jiného, dát ok a následně změnit na 125%).

advanced-display-settings

even-more-advanced-display-settings

dpi-scale

logout-now

Po odhlášení a přihlášení by již mělo fungovat zvětšení starým způsobem. Musíte samozřejmě počítat s tím, že každá změna měřítka bude vyžadovat odhlášení/přihlášení, ale odměnou bude, že se žádné okno programu nebude roztahovat jako obrázek. Teď jen doufat, že to Microsoft s nějakou aktualizací nezakáže, tak jako zničil před půl rokem možnost přemapování kláves na klávesnici.

Zde je vidět několik rozdílů před změnou a po změně obsluhy zvětšení systémem:

device-manager

resource-monitor

Komentáře k článku

  1. 1. Puppy  26.3.2017  17:23:16

    V Insider Preview buildech už je to vyřešené, takže v Creators Update by to mělo být.

    https://blogs.windows.com/windowsexperience/2017/01/09/announcing-windows-10-insider-preview-build-15002-pc/

    Improved high-DPI support for desktop apps: Continuing from our work with Build 14986, Build 15002 brings more goodness in the way of high-DPI support. First, much like we did with Microsoft Management Console (MMC), we’ve updated Performance Monitor (Perfmon) to now be more crisp on high-DPI PCs.

  2. 2. AG  26.3.2017  17:47:31

    Ked sme pri UI. Je nejaka moznost na Win 8/10 pouzivat stary Win 9x look s kompletne nastavitelnymi farbami? Na XP a 7 som pouzival povodny look, akurat tmavsi a plne monochromaticky, a pre 8/10 som nenasiel vhodny skin.

    W10 na moje PC nikdy nikto nedostane, ale hodilo by sa to na tablet :D

  3. 3. swarm  26.3.2017  20:33:58

    [1] Tady je ale výhoda, že to máš pro všechny programy rovnou a nemusíš do ničeho hrabat. Je to dobré hlavně pro BFU, protože jim to nastavíš po instalaci a nestaráš se, že si tam nahráli nový „starý“ program.

    Každopádně uvidíme. Jsem rád, že se s tím MS snaží něco udělat. Třeba ten nový dialog na výběr rozlišení bude aspoň mírný návrat k ergonomii, kterou měl operační systém v minulých verzích od začátku :)

    [2] Můžeš použít vysokokontrastní schéma a nastavit si barvy, jaké chceš. Je to trochu schované a chce to pochopit tu funkcionalitu, ale je to taky cesta.

  4. 4. Rhosta  26.3.2017  22:49:28

    Paráda, přesně to jsem potřeboval:) Díky!

  5. 5. Kam2  27.3.2017  12:41:22

    3. To je právě to čím mě MS zlobí. Samoúčelné změny, přejmenovávání a rozstrkávání.
    Místo „Nastavení vzhledu“, kde by logicky a přehledně byly všechny možnosti.

  6. 6. Wolferine  4.4.2017  14:31:02

    Super, hodí se na pracovní ntb:)

  7. 7. Puppy  4.4.2017  20:16:23

    High-DPI Scaling Improvements for Desktop Applications in the Windows 10 Creators Update
    https://blogs.windows.com/buildingapps/2017/04/04/high-dpi-scaling-improvements-desktop-applications-windows-10-creators-update/

  8. 8. Ladis  5.4.2017  15:37:03

    [6] Pár bodů: 1) Nové API (dosavadní aplikace se budou muset opět upravit), 2) pro staré aplikace vykreslující přes GDI přidán speciální mód, který se ale pro každou aplikaci musí zapnout zvlášť (přednastaven pro vybrané systémové aplikace), 3) nadále je třeba se odhlásit a znovu přihlásit.

  9. 9. Puppy  5.4.2017  23:15:32

    [7] To „staré“ API už je nějakých pět let, takže pokud si ho někdo doteď nevšiml, co na to říct … V .NET Frameworku 4.7 to bude ještě snažší https://blogs.msdn.microsoft.com/dotnet/2017/04/05/announcing-the-net-framework-4-7/

  10. 10. Ladis  6.4.2017  10:23:07

    [8] 1) Takže máme dva typy aplikací, u první se bude opět přepisovat kód, u druhé se bude dál vyčkávat, jestli je to už konečně finální API. 2) Snazší neznamená snadné ;-)

  11. 11. Bananik  4.5.2017  13:27:46

    Neviem este ako na Creators Update ale na Anniversary je problem ked mam laptop s vysokym rozlisenim (nastaveny ako primarny monitor, scaling na 150%) pripojeny cez dock na 2 externe FullHD monitory (scaling 100%). Pri odpojeni laptopu z docku a naslednom zapojeni do dosku Windows niektore programy nedokaze vykreslit ostro, pripadne nevie prepocitat scaling a napriklad RDP alebo Skype je na externom monitore 2x vacsie. Pomoze len restart.


Napsat komentář