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?

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ę.


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.


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.


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).

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.