Co jest wadą skalowania DPI w stylu Windows XP w Windows 7

26

Niedawno przeniosłem się na system Windows 7 i zauważyłem, że wiele moich starszych aplikacji innych firm nie wyglądało tak dobrze przy ustawionym wysokim DPI (150dpi w porównaniu do typowego 96dpi). Po przeszukaniu Internetu w poszukiwaniu sposobów na poprawienie wyglądu moich aplikacji natknąłem się na opcję skalowania DPI w stylu Windows XP. Włączyłem go i nagle aplikacje znów wyglądały dobrze.

Chociaż jestem szczęśliwy, jestem również podejrzliwy. Co straciłem, włączając tę ​​funkcję?

Czy ktoś mógłby mi wyjaśnić różnice w sposobie renderowania ekranu z tą funkcją i bez niej lub wyjaśnić kompromisy związane z używaniem tego ekranu?

jeffmaher
źródło

Odpowiedzi:

21

To dość dobrze odpowiada na twoje pytanie. Krótko mówiąc, tryb XP skaluje czcionkę i rozmiary obiektów interfejsu użytkownika tak, jakbyś poszedł i dostosowywał ustawienia rozmiaru motywu, co może powodować pewne anomalie graficzne w niektórych aplikacjach, które są zakodowane na stałe, aby używać domyślnych rozmiarów czcionek i ikon.

Tryb „Vista” rysuje aplikacje w standardowym 96 DPI do bufora poza ekranem i skaluje je za pomocą procedur zmiany rozmiaru tekstury karty graficznej. Jeśli kiedykolwiek załadowałeś obraz z dużą ilością drobnych szczegółów w pikselach do edytora obrazów i zmieniłeś jego rozmiar, prawdopodobnie wywołane rozmycie będzie podobne.

IMHO, oba są strasznymi hackami, aby obejść fakt, że aplikacje niezależne od DPI prawie nie istnieją. Szkoda, naprawdę.

Jessie
źródło
5
Naprawdę nie sądzę, że „tryb XP” to hack; po prostu (jak mówisz) większość aplikacji nie obsługuje poprawnie wysokich DPI. Tak więc dodanie trybu Vista, który z pewnością jest hackem i musi być oczywiście brzydkie (nie widziałem go, ale nie ma mowy, żeby nie było), ale przynajmniej z tym prawdopodobnie nie oślepniesz od
zezowania
Ten opis dotyczy tylko aplikacji nieświadomych DPI. Zrozumiałe jest, że aplikacje obsługujące DPI nie są powszechne - większość zestawów GUI sprawia, że ​​osiągnięcie tego celu jest znaczącą PITA. WPF jest wyjątkiem, ale niestety czasami jest to PITA na inne sposoby, w tym brak możliwości przenoszenia. Oto działający link na ten temat: Skalowanie DPI w systemie Windows Vista
RomanSt
1
@SamB Nie oślepłbym ze mrużenia oczu, ale z pewnością oślepłbym z powodu rozmycia i kolorowych obwódek trybu „Vista”.
kinokijuf
@kinokijuf: masz na myśli, że nadal próbuje zastosować ClearType w systemie Windows w trybie „Vista”? Eww.
SamB
2

Zawsze należy zaznaczyć pole „Skalowanie czcionek w stylu XP” . W przeciwnym razie wiele aplikacji (na przykład Google Chrome) będzie rozmytych.

Pułkownik Panika
źródło
2
Także: Jest krytyczny , że używasz XP stylu skalowania czcionki, jeśli nie żadnej pracy w programach graficznych.
kinokijuf
2
Prawdopodobnie było to prawdą, kiedy zostało napisane, ale teraz nie jest tak, przynajmniej nie w przypadku Google Chrome. Google Chrome jest DPI Aware i wykorzystuje Direct 2D w systemie Windows 7 i nowszych.
Warren P,
0

Pomyślałem o tym, a jeśli próbujesz osiągnąć prawdziwy wzrost wszystkiego w 100% równomiernie, możesz równie dobrze zmniejszyć rozdzielczość. Osiąga dokładnie taki efekt, o jaki pytasz. W rzeczywistości byłoby dokładnie tak, jak w przypadku skalowania w stylu Vista, z tym wyjątkiem, że rzeczy nie będą rozmyte. Jedynym minusem jest to, że nie będziesz mieć aplikacji, które ignorują skalowanie, aby korzystać z pełnej rozdzielczości w przypadku filmów HD. Ale jeśli masz aplikacje ignorujące wybrane skalowanie, oznacza to, że cel tego typu skalowania nie jest wystarczający.

Możliwym rozwiązaniem w przyszłości (dla projektantów systemów operacyjnych w celu dodania ich do systemów operacyjnych) byłoby wybranie przez użytkowników skalowania, które zachowuje się jak mniejsza rozdzielczość, a następnie zezwolenie aplikacjom na prośbę o zgodę na użycie pełnej rozdzielczości w przypadku np. Wideo. np. odtwarzacz wideo uruchamia wideo HD, a system Windows pyta, czy chcesz zezwolić aplikacji na używanie rozdzielczości nieskalowanej (z uwagą, że jest to dobre w przypadku takich rzeczy jak wideo HD itp.)

Obecnym rozwiązaniem jest umożliwienie aplikacjom przejścia na pełny ekran i zmianę rozdzielczości wyświetlania wideo, tak jak robią to gry, ale większość aplikacji innych niż gry nie implementuje tego. Na przykład byłoby miło, gdybym mógł ustawić pulpit w niższej rozdzielczości do codziennego użytku, aby elementy interfejsu i czcionki były większe, ale wtedy aplikacja taka jak Chrome mogłaby przejść na pełny ekran i zmienić rozdzielczość wyświetlania podczas odtwarzania wideo . Byłoby to najlepsze rozwiązanie, gdyby system Windows (lub inny system operacyjny) stworzył interfejs API, aby umożliwić aplikacjom łatwe przełączanie rozdzielczości, gdy aplikacja przechodzi na pełny ekran.

trusktr
źródło
Ogromnym problemem związanym z obniżeniem rozdzielczości na ekranie innym niż CRT jest to, że piksele logiczne nie pasują do pikseli fizycznych, a system operacyjny próbuje wyświetlić coś, na przykład 5 x 3 pikseli w 6 x 4 fizyczne piksele i otrzymujesz okropną pikselizację. A system operacyjny nie robi tego dobrze.
Clay Nichols
0

Według własnego doświadczenia popraw mnie, jeśli nie „IIRC”, ale największym zmniejszeniem jest to, że skalowanie stylu XP jest błędne i nie działa w przypadku połowy aplikacji. (tzn. działa, ale nie działają2 ).)

Kolejną wisienką nad paliwem w ogniu na soli rany jest to, że skalowanie XP skutecznie wyłącza skalowanie HDPI, ale skalowanie Vista pozwala na to również dla poszczególnych aplikacji, co działa w przypadku większej liczby aplikacji. (Nie mówię o aplikacjach świadomych DPI)

Aby dodać zamieszanie zagadki zawiniętej w zagadkę, wyłączanie HDPI dla aplikacji w „stylu” Visty działa tylko dla aplikacji 32-bitowych, aż do Win 8.1, a może nawet 10.

Podwójna PITA. Ale nie obwiniam Microsoftu. Kto mógłby dogonić wszystkie te wielomonitorowe, wielordzeniowe, wielordzeniowe, wszystko-ponieważ-elektrony-nie-są-wystarczająco-szybkie-już-tak-kładziemy-multi-przed-nazwą -of-the-technology-bs.

Tak. Bez uprzedzeń, to tylko fakt technologiczny, prawidłowe skalowanie DPI wciąż jest futuryzmem w rozwoju oprogramowania.

EDYTOWAĆ

Jedną z konsekwencji chaotycznego stanu jest również bardzo dobrze wyjaśnione w Wytycznych Wikimedia Commons (przy okazji całkiem niezły przewodnik po fotografii).

Hatebit
źródło