Vista x64 – czas na 64-bity w świecie Windows?

Oto i stało się! Windows XP nie jest już dostępny w sprzedaży i kupując system operacyjny od Microsoftu skazani jesteśmy na cieszącą się ciągle niezbyt dobrą opinią Vistę. W dzisiejszym artykule zastanowimy się nad sensownością zakupu 64-bitowej odmiany tego systemu. Nie uda się też pewnie uniknąć nawiązania do odwiecznego i arcyciekawego sporu o wyższości Visty nad XP. Wcześniej jednak niezbędna wydaje się prezentacja podstawowych zalet i wad systemów 32- i 64-bitowych. Informacje te dotyczą wszystkich pecetów, nie tylko tych z MS Windows.

Zacznijmy do procesora

Image

Większość sprzedawanych obecnie procesorów posiada zdolność wykonywania 64-bitowego kodu (jak również wykonuje z pełną wydajnością kod 16- i 32-bitowy). Rozszerzenie zestawu instrukcji x86 o możliwość wykonywania 64-bitowego kodu wprowadziła firma AMD w Athlonach 64. Ten dodatkowy zestaw instrukcji nazwano x86-64 lub AMD64.

Intel nie mogąc przeforsować swojej drogiej i obwarowanej patentami IA-64, musiał na szybko wyposażyć swoje procesory w zestaw instrukcji zgodnych z AMD64, któremu nadał nazwę EM64T.

Jaki jest zysk z 64-bitowego procesora, poza lepszym samopoczuciem wynikającym ze znacznej różnicy pomiędzy liczbami 64 i 32? Pierwszą i zasadniczą różnicą jest ilość pamięci, którą może wykorzystać procesor. W przypadku 32 bitów ograniczona jest ona do 4 gigabajtów (2 do potęgi 32), podczas gdy teoretyczny limit technologii 64-bitowej jest znacznie, znacznie wyższy. Przy 64-bitowym adresowaniu jest to 2 do potęgi 64, jednak należy tu zaznaczyć, że współczesne procesory nie wykorzystują pełnych 64-bitów do adresowania, gdyż nie ma takiej potrzeby.

Uważni czytelnicy zwrócą teraz uwagę, że przecież w czasach 32-bitów również istniały pecety posiadające znacznie więcej pamięci niż 4 GB. To oczywiście prawda, a sytuacja taka jest możliwa dzięki wprowadzeniu możliwości 36-bitowego adresowania pamięci już w Pentium Pro. Technologia ta nazwana została PAE (Physical Address Extension), a jej pojawienie się zostało wymuszone zapotrzebowaniem na pamięć w maszynach serwerowych i mocnych stacjach roboczych.

Jednak współczesne „biurkowe” wersje Windows (Vista x86 i XP x86 SP2/3) nie robią użytku z tej funkcjonalności w trosce o kompatybilność z niedopracowanymi (bądź starymi) sterownikami. Natomiast 32-bitowe Windowsy serwerowe mogą obsłużyć nawet 64 GB RAM. Korzystanie z PAE okupione jest pewnym pogorszeniem wydajności pamięci, na ogół mało istotnym dla zastosowań serwerowych. Szersze omówienie PAE znaleźć możemy na przykład w bazie wiedzy Microsoftu.

Następną korzyścią jest teoretycznie większa szybkość przetwarzania danych przez procesor 64-bitowy w porównaniu z 32-bitowym odpowiednikiem oraz większa precyzja obliczeń wykonywanych podczas jednego cyklu procesora. Bezpośrednio wynika ona z podwojonej liczby rejestrów procesora (miejsce przechowywania danych w CPU, dostęp do nich obarczony jest najmniejszym możliwym opóźnieniem, mniejszym niż w przypadku korzystania z cache i kilkadziesiąt razy mniejszym od czasu dostępu do RAM). 

Dodatkowo rejestry mają dwukrotnie większą pojemność w porównaniu z architekturą 32-bitową. Nie bez znaczenia pozostają również optymalizacje dokonywane przez kompilatory dzięki możliwości porzucenia części balastu kompatybilności wstecznej.

Dokładniej chodzi o częstsze wykorzystywanie jednostek SIMD (np. SSE, SSE2) zamiast jednostki zmiennoprzecinkowej (FPU). Często owocuje to znacznym przyrostem wydajności w obliczeniach naukowych, kodowaniu multimediów, kompresji i innych zastosowaniach wymagających przetworzenia dużej ilości danych. 

W tym miejscu podkreślić należy, że jednostki SIMD mogą być równie efektywnie wykorzystywane w środowisku 32-bitowym (ale często nie są, by zachować kompatybilność ze starszymi procesorami x86 nie mającymi takich rozszerzeń). Warto o tym pamiętać, by uniknąć nazbyt pochopnych wniosków podczas pomiarów wydajności i rozdzielać efekt architektury 64-bitowej od efektu wykorzystania SSE, czy 3DNow!

Wstępne analizy firmy Cakewalk (producenta profesjonalnych rozwiązań do obróbki dźwięku), wykazały 20-30% przyrost wydajności niektórych operacji w programie Sonar skompilowanym do wersji 64-bitowej. Co więcej, w żadnym z testów nie obserwowano obniżenia wydajności w stosunku do środowiska 32-bitowego. 

Podobnie zachęcające rezultaty daje przeprowadzone na Athlonie64 porównanie wydajności wielu aplikacji uruchamianych pod Ubuntu x86 i x64 – spadki wydajności przy przejściu do środowiska 64-bitowego jeśli występowały to były niewielkie, podczas gdy często obserwowano znaczący wzrost wydajności aplikacji 64-bitowych - nawet rzędu 20-30%. 

Istnieją jednak i inne testy wykonane w środowisku linuksowym, których wyniki nie nastrajają już tak optymistycznie, a wręcz sugerują pozostanie przy sprawdzonych, 32-bitowych programach, np. świeży test AMD Phenom.

Jak więc widzimy, i jeszcze zobaczymy w rozdziale dotyczącym wydajności Visty, nie zawsze rozważania teoretyczne znajdują potwierdzenie w praktyce, a ostateczny wynik benchmarków uzależniony jest od większej liczby czynników, niż tylko architektura procesora.

Oprogramowanie. Pamięć operacyjna

Zyski z inwestycji w 64-bitowy procesor możliwe są do zrealizowania tylko i wyłącznie w odpowiednim, a więc zwykle 64-bitowym środowisku programowym. Dotyczy to zarówno systemu operacyjnego, jak i uruchamianych dzięki niemu programów. Microsoft wejście w erę 64 bitów na desktopach zapoczątkował już Windowsem XP x64. 

System ten nie zyskał wielkiej popularności z kilku powiązanych ze sobą powodów (brak zapotrzebowania na pamięć powyżej 1-2 GB nawet w przypadku wielu stacji roboczych, ceny pamięci, ograniczenia w ilości RAM obsługiwanej przez chipsety płyt głównych, brak 64-bitowego oprogramowania dla Windows). Siłą rzeczy producenci sprzętu w znacznym stopniu zignorowali istnienie 64-bitowego XP, co zaowocowało brakiem sterowników do wielu urządzeń – niestety, nie można posiłkować się rozpowszechnionymi 32-bitowymi sterownikami w 64-bitowym systemie.

Oczywiście „nie samym systemem żyje człowiek” - potrzebujemy jeszcze oprogramowania 64-bitowego. Generalnie programy 32-bitowe uruchomione w środowisku 64-bitowym poprzez jakąś warstwę zapewniającą kompatybilność działają wolniej niż w systemie 32-bitowym. Nie można traktować tego stwierdzenia nazbyt dogmatycznie, gdyż stopień obniżenia wydajności zależy od rodzaju programu, jego zapotrzebowania na pamięć, ilości uruchomionych jednocześnie zasobożernych aplikacji. Dobrze wyposażony w RAM komputer z 64-bitowym OS-em ma potencjalną przewagę we wszystkich wymienionych kategoriach, a traci tylko na skutek emulacji środowiska 32-bitowego.

Pamięć operacyjna

Dostępność tanich modułów DDR2 w wersjach zarówno dla desktopów, jak i laptopów sprawia, że posiadanie czterech, czy większej liczby gigabajtów pamięci nie jest już kosztowną fanaberią, choć ciągle większość komputerów nie potrzebuje aż takiej ilości RAM. Przeglądając rozmaite teksty w Internecie można natknąć się na sporą liczbę osób zawiedzionych, które po zamontowaniu dodatkowej pamięci w komputerze stwierdzają, że raportowana przez Windows ilość RAM jest mniejsza od 4 GB. Dlaczego tak się dzieje?

Jak już napisałem, 32-bitowe adresowanie pozwala na użycie 4 GB pamięci. Niestety, w pulę adresów wchodzi nie tylko RAM, ale również pamięć karty graficznej. Wiele urządzeń również rezerwuje sobie pamięć do komunikacji z pozostałymi składnikami komputera. W efekcie użytkownik ma do dyspozycji swoje 4 GB RAM uszczuplone o wymienione wyżej pule rezerwowane przez urządzenia. Najczęściej – i tak informuje na swojej stronie Microsoft – Windows z tych 4 GB pamięci operacyjnej widzi ok. 3,2 GB, choć wartość ta może różnić się w zależności od komponentów komputera. Przykładowo karta grafiki z 1 GB na „pokładzie” odbierze nam taką samą wartość z pamięci głównej, więc ilość RAM raportowana przez Windows spadnie sporo poniżej 3 GB.

Pamięć rezerwowana dla urządzeń (kolor żółty) w systemie 32-bitowym musi być zmapowana w obrębie 4 GB przestrzeni adresowej. Tym samym uszczupla ilość RAM dostępną dla Windows (kolor niebieski).

Image

System 64-bitowy nie ma tak ograniczonej przestrzeni adresowej. Jego instalacja gwarantuje dostęp do pełnej pojemności RAM w wypadku, gdy BIOS umożliwia przeadresowanie rezerwowanej pamięci powyżej 4 GB. Do tego niezbędna wydaje się obsługa ponad 4 GB pamięci przez chipset płyty głównej.

Do ogólnego bałaganu dotyczącego „widzenia” pamięci przez 32-bitowe systemy walnie przyczyniają się producenci sprzętu, oferując komputery wyposażone w 4 GB pamięci i 32-bitową Vistę, nie ujawniając ograniczeń takiego zestawu (lub czyniąc to „drobnym drukiem”). Microsoft wraz z SP1 do Visty wprowadził marny trik uspokajający mało dociekliwych użytkowników – system raportuje poprawną ilość zamontowanej pamięci i dopiero uruchomienie msinfo32 pozwala nam zobaczyć, że „problem 4 GB” nadal istnieje.

Jak już sygnalizowałem w moim poprzednim artykule na temat Visty opublikowanym na łamach benchmark.pl, Microsoft podjął starania w kierunku ulepszenia domyślnego poziomu bezpieczeństwa produkowanych przez siebie systemów operacyjnych. 32- jak i 64-bitowa Vista zawierają widoczne w codziennej pracy usprawnienia bezpieczeństwa jakimi są UAC (User Account Control), ulepszona zapora (np. możliwość tworzenia reguł dla ruchu wychodzącego z komputera), „tryb bezpieczny” Internet Explorera, czy wreszcie stale uruchomiony jako usługa Windows Defender. Równie ważne są zabezpieczenia ukryte w „trzewiach” systemu, jakimi są DEP (Data Execution Prevention, nowość w XP SP2) i ASLR (Address Space Layout Randomization, nowość w Viście).

Pierwszy z nich zapobiega wykonywaniu kodu z pamięci przeznaczonej na dane, drugi wprowadza losowe rozmieszczenie ważnych elementów systemu operacyjnego oraz programów (wymagane uaktywnienie tej opcji przez programistów) w pamięci i w znacznym stopniu zapobiega atakom opartym o przepełnienie bufora. 

Według opinii wielu specjalistów od zabezpieczeń ASLR i DEP powinny być stosowane w tandemie, Microsoft podjął więc właściwą decyzję uzupełniając DEP o randomizację przestrzeni adresowej. Piszę o tym nie bez powodu, ponieważ w sieci znaleźć możemy publikacje sugerujące, iż ASLR obecny jest tylko w 64-bitowej odmianie Visty. Tymczasem zupełnie nieświadomy tego faktu Symantec ;) opublikował raport dotyczący randomizacji przestrzeni adresowej w Viście x86 RTM. Ogólny wydźwięk raportu jest pozytywny, niemniej wytyka on niedociągnięcie, jakim jest preferowanie niektórych lokacji przez algorytm randomizacji. Usterka ta obniża w pewnym stopniu efektywność ASLR. Trudno powiedzieć, czy SP1 poprawia implementację randomizacji, niemniej jakość tego zabezpieczenia nie powinna spędzać nam snu z powiek.

64-bitowa Vista ma jednak pewną unikalną cechę zwiększającą bezpieczeństwo. Jest nią Kernel Patch Protection (zwany również jako Patchguard) zapobiegający modyfikacji jądra systemowego przez nieautoryzowane programy. Mechanizm ten między innymi powinien stanowić blokadę dla instalacji wielu rootkitów. Vista x64 jak na razie ma również przewagę będącą niejako efektem ubocznym braku 64-bitowych szkodników, bo tylko takie mogłyby zagnieździć się w 64-bitowym jądrze. Microsoft również zdecydował się na kontrowersyjny krok obligatoryjnego stosowania podpisanych cyfrowo sterowników urządzeń, co pośrednio stanowi również barierę dla szkodników.

Widzimy więc, że pod względem zabezpieczeń Vista x64 wykazuje wyższość nad Vistą x86, choć o rzeczywistej wartości tej przewagi zdecydowanie za wcześnie jeszcze się wypowiadać.

Vista x64 – czy już czas?

Część użytkowników narzeka na nieprawidłowe działanie niektórych programów w najnowszym Windows. Zdecydowana większość z nich używa Visty x86. W przypadku 64-bitowej odmiany tego systemu powinniśmy spodziewać się jeszcze większych problemów.

Po pierwsze, kompatybilność z 32-bitowymi programami realizowana jest w Viście x64 za pomocą warstwy WoW64 (Windows on Windows 64), emulującej środowisko 32-bitowe dla potrzebujących tego aplikacji – na chwilę obecną prawie wszystkich aplikacji jakich przywykliśmy używać w Windows!

Druga sprawa to zerwanie kompatybilności z programami 16-bitowymi, co nie wydaje się w dzisiejszych czasach dużym ograniczeniem. Trzeba jednak nadmienić, że istnieją programy ciągle posiadające 16-bitowy kod w instalatorach. Mimo wszystko nie powinniśmy napotkać szczególnie dużych problemów z uruchomieniem względnie nowych aplikacji, szczególnie służących ogólnie pojętej „pracy” na komputerze, a więc nie próbujących zbyt głęboko ingerować w budowę, czy zachowanie systemu operacyjnego (programy biurowe, graficzne, odtwarzacze multimedialne, spora część nowych gier).

Są jednak „grupy szczególnego ryzyka”, które z dużym prawdopodobieństwem będą źródłem problemów w Viście 64-bitowej, mimo że poprawnie zadziałają w 32-bitowej. Do tej kłopotliwej gromady należą programy zabezpieczające oraz narzędziowe

Zwykle integrują się one mocno z systemem, muszą więc być kompatybilne z Kernel Patch Protection, posiadać 64-bitowy certyfikowany sterownik. W obecnej chwili spora część antywirusów nie jest jeszcze oferowana w wersjach 64-bitowych, choć wiele z nich może stanowić w miarę efektywną ochronę również dla posiadaczy Visty x64 (zwykle charakteryzują się pod tym OS-em niepełną funkcjonalnością, np. brakiem modułu antyrootkitowego).

Nie możemy też liczyć na poprawne działanie wielu specjalnych narzędzi do wykrywania szkodników, jak na przykład popularny GMER, czy darmowych wyszukiwarek rootkitów oferowanych przez producentów programów antywirusowych. Winnym takiego stanu rzeczy jest producent Windows, który dopiero w pierwszym Service Packu udostępnił metodę integracji oprogramowania ochronnego z kernelem Visty x64.

Taki komunikat przywita nas przy próbie uruchomienia programu ze niecertyfikowanym sterownikiem. Intrygująca jest przyczyna dla której taka weryfikacja nie może zostać dokonana przed instalacją programu...

Wirtualizacja rejestru i systemu plików to technika pozwalająca na przekierowanie zapisu z gałęzi rejestru bądź systemu plików mających znaczenie dla całego systemu do lokacji mieszczącej dane użytkownika. Ma ona na celu zwiększenie kompatybilności z niechlujnie napisanym oprogramowaniem bez naruszania stabilności systemu. 

Ta zdolność wirtualizacji jest czasem wymieniana jako przewaga Visty x86 nad jej 64-bitową odmianą. Prawdopodobnie wynika to z nieuważnej lektury dokumentacji Microsoftu, bo Vista x64 rzeczywiście nie dopuszcza takiej wirtualizacji, ale tylko w przypadku procesów 64-bitowych – procesy 32-bitowe w obu odmianach Visty traktowane są tak samo. Widać programiści z Microsoftu doszli do słusznego wniosku, że programy 64-bitowe powinny być w pełni przystosowane do pracy w nowym Windows.

32-bitowe narzędzia plikowe, takie jak TotalCommander, czy FreeCommander działają prawidłowo, jednak musimy pamiętać. że używając ich nie będziemy mieli dostępu do folderu system32, który wbrew nazwie w Viście x64 zawiera zbiory 64-bitowe. 

Wścibscy użytkownicy mogą się posiłkować natywnym (64-bitowym) 7-Zipem, czy po prostu Eksploratorem Windows.

Problematyczne w Viście x64 jest również użytkowanie wielu programów do czyszczenia rejestru – co być może i tak nie ma znaczenia, gdyż skuteczność tego typu narzędzi nie została nigdy potwierdzona (usuwając kilkadziesiąt kilobajtów nieprawidłowych wpisów nie jesteśmy w stanie powstrzymać pęcznienia plików rejestru, poza tym część usuwanych wpisów jest zwykle natychmiast odtwarzana przez system).

Niekiedy kłopotów może przysporzyć nam dublowanie w Viście niektórych aplikacji wchodzących w skład systemu. Na przykład Vista x64 zawiera Internet Explorera i Windows Media Playera w wersjach 64- i 32-bitowej, przy czym system domyślnie kieruje nas do 32-bitowych wersji tych narzędzi.

Jest to poniekąd słuszne z racji braku 64-bitowego Flash Playera, czy niedojrzałości wielu kodeków w 64-bitowych wersjach, niemniej może wprowadzać użytkownika w stan konfuzji i sprzyjać powstaniu bałaganu w zainstalowanych kodekach.

W tym miejscu trzeba poruszyć też dodatkowy koszt kompatybilności jakim jest niesłychanie rozrastający się folder Windows, czemu w ogóle nie jesteśmy w stanie zapobiec użytkując w normalny sposób komputer i nie chcąc narazić się na kłopoty ze stabilnością zainstalowanych programów lub wręcz samego Windows. 

Dokładniej mówiąc tajemnicza „puchlina” dotyka folderu winsxs przechowującego różne wersje bibliotek w trosce o prawidłową pracę programów współpracujących z konkretną wersją biblioteki. 

Dodatkowo folder ten pełni rolę znanego z XP/2000 katalogu dllcache. Dość powiedzieć, że na testowym komputerze zostały zainstalowane Vista oraz pakiet OpenOffice, antywirus, VirtualBox, ffdshow, program antyspyware, Firefox, Thunderbird i kilka niewielkich programów użytkowych – każdy chyba przyzna, że jest to dość minimalistyczny zestaw.

Po 2 miesiącach winsxs urósł prawie o 4 GB i obecnie liczy 6 GB. Sytuacja ta dotyczy zarówno 32- jak i 64-bitowej Visty. Przeglądając dyski innych komputerów do których mam dostęp stwierdziłem, że winsxs nierzadko przekracza 10 GB, mieści dziesiątki tysięcy plików i tak znaczny jego rozmiar jest raczej regułą, a nie wyjątkiem. Wydaje się, że narzędzie porządkujące ten bałagan potrzebne jest w trybie pilnym.

Stabilność

Vista x64 teoretycznie powinna być stabilniejsza od 32-bitowych wersji Windows dzięki lepszej kontroli nad jakością sterowników oraz programów mających wpływ na działanie jądra systemowego. Być może nie wszyscy Czytelnicy zdają sobie sprawę, że wadliwe sterowniki są jedną z częstszych przyczyn niestabilności, czy innych problemów z systemem. 

W praktyce testowa Vista x64 zawiesiła się 1 raz w ciągu 2 miesięcy podczas oglądania filmu z użyciem kodeka ffdshow. Co prawda trudno wyrokować cokolwiek na podstawie jednostkowego wydarzenia, niemniej komputery piszącego te słowa nie zawieszają się zbyt często, niezależnie od użytego systemu operacyjnego, toteż nie byłem w stanie doświadczyć tej zwiększonej stabilności 64-bitowej Visty. Działała ona równie dobrze jak inne OS-y, w tym Vista x86. W przypadku użytkowników bardziej niefrasobliwych przewaga Visty x64 nad x86 może zaznaczyć się wyraźniej.

Monitor niezawodności pozwala na śledzenie różnych typów zdarzeń (instalacja/usuwanie programów/poprawek, błędy aplikacji, sprzętu itd.). Na obrazku widzimy, że 18 lipca niesfornie zachował się klient poczty Mozilla Thunderbird. Wersja 2.0.0.14 wykazywała sporą niestabilność pod Vistą x64, na szczęście problemy usunęła aktualizacja do 2.0.0.16.

Image

Wydajność

Doszliśmy do rozdziału interesującego prawdopodobnie największy odsetek Czytelników benchmark.pl. Zasobni w wiedzę na temat potencjalnej przewagi architektury 64-bitowej możemy przystąpić do weryfikacji rozważań teoretycznych i przejrzeć publikacje dotyczące wydajności Visty x64. Uprzednio jednak warto podkreślić, że nie wszystkie aplikacje powinniśmy traktować tak samo podczas pomiarów wydajności.

Przykładowo, obniżenie wydajności edytora tekstu o 10% na ogół w najmniejszym stopniu nie wpłynie na czas napisania artykułu, bo czynnikiem limitującym jest tu (mierny?) pisarz. Inaczej ma się sprawa z kompresją multimediów, tworzeniem archiwów, czy grami. Tu każde niepotrzebne spowolnienie wiąże się ze stratą cennego czasu, a przy grach często również z frustracją.

Vista potrafi udzielić nam szeregu „dobrych rad” w trosce o wydajność systemu. W tym przypadku sugeruje zamknięcie niektórych okien, wyłączenie przezroczystości, obniżenie rozdzielczości (monitor LCD), czy wreszcie wyłączenie osławionego Aero (który podobno nie ma wpływu na wydajność)...

Image

Na początek przytoczę wyniki testu pokazujące, że Vista x86 na odpowiednio szybkim sprzęcie może wykazać się zadowalającą wydajnością w grach. Jest to o tyle istotne, że chcemy uniknąć porównania „marnego” z „tragicznym” (mówię o Vistach) oraz podsumowania, że XP i tak były szybszy. Było w tym wiele racji na początku roku 2007.

Vista wypada w nich bardzo marnie. Jednak już wrzesień 2007 i kolejne wersje sterowników od producentów chipsetów graficznych przynoszą znaczną poprawę sytuacji.

W maju 2008 Serwis ExtremeTech znów przetestował 32-bitową Vistę SP0, Vistę SP1, XP SP2 oraz XP SP3 w trzech grach (World in Conflict, Supreme Commander, Crysis) i 2 popularnych benchmarkach syntetycznych (PCMark05, 3DMark06). Rezultaty wszystkich testowanych systemów operacyjnych wypadają podobnie, z wyjątkiem Visty bez Service Packa, która uzyskała nieco niższą punktację.

Przytoczone wyniki testów pokazują, że sterowniki grafiki dla najnowszego systemu Microsoftu dojrzewały powoli i w chwili obecnej dojrzały na tyle, że nie stanowią już znaczącego utrudnienia dla graczy. Potwierdza się również dość powszechne przekonanie o konieczności instalacji SP1 dla Visty.

Oczywiście kombinacji sprzętu, sterowników i gier jest na tyle dużo, że pewnie dałoby się znaleźć zestaw komputerowy na którym gra się lepiej pod Vistą, jak i taki, który lepiej sprawuje się z Windows XP. Trzeba przyjąć, że poniżej pewnego poziomu wydajności sprzętu (znacznie wyższego niż minimalny, czy nawet rekomendowany przez producenta dla Visty) Windows XP prawdopodobnie zawsze będzie szybszy i jego wymiana na Vistę nie ma najmniejszego sensu. Jeśli jednak mamy wystarczająco mocną maszynę, wyposażoną w powiedzmy 2 GB RAM, nie powinniśmy już zauważać znaczącej różnicy pomiędzy obecną, a poprzednią wersją Okien.

Po tym być może nieco przydługim wywodzie o Viście i XP x86, czas wrócić do zasadniczego wątku – a więc Visty x64. Popatrzmy co mówi szklana kula. Albo może lepiej co mówią testy opublikowane w różnych serwisach... Znów będę się posiłkował wynikami z ExtremeTech tym razem pochodzącymi z kwietnia 2008.

Celem testu było porównanie 32- i 64-bitowej Visty. Niestety, wyniki nie mogą napawać radością zwolenników windowsowych 64 bitów na desktopie, choć nawet w tym teście widać już znamiona mocy drzemiącej w środowisku 64-bitowym. Pozytywnie dla Visty x64 wypadł test w Cinebench (+10%), PCMark Vantage (pomijalna przewaga, +4%), mniej więcej porównywalne wyniki dotyczyły większości testowanych gier, słabiej x64 wypadła w Adobe After Effects. POV Ray7 beta, 3ds Max9. 

Bardzo kiepskie wyniki w Lightwave, czy kodowaniu do MPEG2 pewnie ulegną poprawie przy kolejnych wersjach aplikacji, bądź poprawkach kompatybilności dla Windows. 

Typowymi benchmarkami zwykle przytaczanymi w celu ukazania wyższości programów 64-bitowych są również 7-Zip, Super Pi, GeekBench czy ScienceMark, które w wersji 64-bitowej wykazują przyrost wydajności o kilkanaście procent (łatwo to zweryfikować we własnym zakresie, bo aplikacje te w większości są darmowe, niewielkie i nie wymagają instalacji).

Widzimy więc, że w przypadku wielu obecnie dostępnych aplikacji nie zauważymy poprawy wydajności po przejściu na 64 bity. Co gorsza, możemy nawet doświadczyć pewnego spowolnienia komputera. 

Znów jednak pojawia się światełko dla 64 bitów, którym jest obsługa dużej ilości pamięci. Przy dużych zadaniach obliczeniowych, jeśli uda się uniknąć korzystania z pliku wymiany, szybkość wykonania zadania i tak może być większa, mimo wolniejszego działania samego programu (eliminacja „wąskiego gardła” jakie często stanowi twardy dysk). 

Warto też pamiętać, że wyniki testów którymi się posiłkowałem nie są jedynymi opublikowanymi w sieci porównaniami tego typu. Niestety w przypadku Visty x64 napotyka się dość dużą zmienność w ocenach wydajności – od zachwytu, aż po skrajną pogardę. Trudno czasem oprzeć się wrażeniu, że uczucia „badaczy” mogą w jakiś sposób determinować wynik, choć niewątpliwie na zmienność rezultatów ma wpływ również „dojrzewanie” sterowników, programów testowych i samego systemu.

Przy okazji omawiania kwestii związanych z wydajnością warto również wspomnieć o niewielkiej różnicy w zajętości przestrzeni dyskowej i pamięci operacyjnej między Vistą x64 a x86 uruchomionych z tymi samymi usługami. 

Ta pierwsza zajmuje około 10-15% więcej RAM, podobnież na dysku okupuje o około 1-3 GB przestrzeni więcej (porównałem dobrze utrzymane 2-miesięczne systemy, tuż po instalacji nie zwróciłem uwagi na różnicę w ilości zajmowanego miejsca na dysku). 

Powstaje więc pytanie o zasadność instalacji Visty x64 w komputerze z mniejszą niż 4 GB pamięcią operacyjną. Prawdopodobnie nie ma to większego sensu. Z drugiej strony jednak, jak pokazuje ten test, wykorzystujący 9 nowych tytułów gier do porównania wydajności pod Vistą x64 z 2 i 4 GB RAM, podwojenie dostępnej pamięci zaowocowało minimalnym podniesieniem średniej ilości klatek na sekundę (1-2%), i tylko Crysis poprawiła się aż o 7%. 

Autorzy natomiast zwrócili uwagę na skrócenie czasu ładowania gier w komputerze w większą ilością pamięci, co niewątpliwie poprawia komfort pracy, ale jak widać nie przekłada się na średnią wartość FPS.

Co więc wybrać?

Aby podjąć właściwą decyzję musimy odpowiedzieć sobie na kilka pytań. Niestety, w pewnych wypadkach będzie to wybór mniejszego zła. Przebrnijmy zatem przez te pytania: 

1. Czy potrzebujemy więcej niż 3 GB pamięci? 

Jeśli tak, to wybór systemu 64-bitowego wydaje się koniecznością. 4 lub więcej GB RAM wygląda dobrze w menadżerze zadań, ale czy zdołamy je wykorzystać?

2. Czy nasz sprzęt jest gotów na Vistę. 

Vista, niezależnie czy 32- czy 64-bitowa ciągle jest systemem „przyciężkim” - zwłaszcza dla komputerów przenośnych. Wiele sprzedawanych obecnie komputerów przenośnych nie obsługuje więcej niż 2 GB RAM (zasługa chipsetu płyty głównej), posiada mało wydajne podsystemy grafiki, które stosunkowo słabo radzą sobie z interfejsem Aero oraz małe i wolne dyski twarde, dające się we znaki podczas startu systemu, działania funkcji Prefetch, defragmentacji, czy indeksowania plików. 

W tym miejscu możemy złożyć szczególne wyrazy współczucia posiadaczom laptopów. Zwłaszcza tym z małymi, acz kosztownymi napędami SSD, które Vista szybko zapełni swoimi plikami nie pozostawiając im zbyt wiele miejsca na dane. 

Wielu użytkowników nie jest w stanie przeboleć faktu, że zamiast ulubionej muzyki musi mieć na dysku ten 10-gigabajtowy folder WinSxS...

3. Czy sami jesteśmy gotowi na Vistę? 

Vista, choć niewątpliwie jest ważnym krokiem naprzód w poprawie bezpieczeństwa w rodzinie Windows, ciągle wzbudza uzasadnione kontrowersje w dziedzinie wydajności i zajętości zasobów. Czy nam to nie przeszkadza?Vista wymagać będzie zmiany niektórych przyzwyczajeń, np. UAC moim zdaniem znacznie ułatwia pracę na koncie z obniżonymi uprawnieniami (czyli tak jak powinno się pracować, a robi to mało kto), ale wielu użytkownikom przeszkadza jego natarczywość. 

Na koniec sprawa nieszczęsnego DRM (Digital Rights Management) – z jednej strony umożliwia nam oglądanie zabezpieczonych materiałów High Definition (rozumując naiwnie jest to więc udogodnienie), z drugiej jest to naruszenie naszej wolności, które wspieramy płacąc własnymi pieniędzmi za system operacyjny.

4. Czy są wydajne sterowniki dla naszego sprzętu? 

Pytanie to dotyczy zwłaszcza graczy, niemniej „klatkujący” Flip3D nie sprzyja relaksacji podczas przełączania między oknami aplikacji. Zwłaszcza jeśli kątem oka widzimy drwiący uśmieszek użytkownika Compiza, któremu właśnie pokazujemy coś na ekranie... Pamiętajmy też o sterownikach do kart dźwiękowych, drukarek, skanerów, tunerów tv – tu też możemy napotkać problemy.

5. Czy istnieją 64-bitowe wersje aplikacji z którymi pracujemy na co dzień? 

Czy przypadkiem nie działają wolniej niż wersje x86? Na tym powinni skupiać się raczej użytkownicy oprogramowania wykonującego czasochłonne obliczenia. Zwykli oracze edytorów tekstu nie odczują ewentualnego spowolnienia. Gracze pewnie wiedzą, że 64-bitowych gier pod Windows praktycznie nie ma...

6. Czy 32-bitowe oprogramowanie, którego potrzebujemy będzie działać wystarczająco wydajnie pod WoW64? 

To znów pytanie dla użytkowników wyspecjalizowanych aplikacji oraz graczy.

7. Ile jesteśmy skłonni wydać na system operacyjny? 

Windowsa XP co prawda kupić już nie możemy bezpośrednio, możemy jednak dokonać obniżenia wersji Okien nabywając licencję na Vistę Business bądź Ultimate. Doprawdy przebiegły człowiek to wymyślił, bo chcąc używać „stare i gorsze” musimy zapłacić więcej niż za produkt najnowszy. Mówiąc dosadniej osoby niezadowolone z Visty chcąc mimo wszystko pozostać w obozie Windows (czyli dokonać „downgrade” do XP) nie mogą nawet okazać dezaprobaty wydając mniejszą kwotę na system operacyjny. Mamy więc kolejną branżę, gdzie „kryzys” może wręcz generować rekordowe zyski...

Mimo, że momentami uderzyłem w ton tragiczny, ogólne wrażenia z użytkowania Visty x64 na testowej maszynie mogę zaklasyfikować jako pozytywne. Vista na mobilnym Penrynie 2.4 GHz z 4 GB RAM, 160 GB szybkim dyskiem SATA i odrębną kartą graficzną nVidia działa poprawnie i nie stwarza większych kłopotów niż te wynikające z przyzwyczajenia do innych systemów operacyjnych. Jako że komputer należy ciągle do wydajnych (przynajmniej w kategorii maszyn mobilnych) trudno oczekiwać, żeby było inaczej.

Jedynym poważnie dającym się we znaki problemem jest uporczywa walka z OS-em o miejsce na dysku, dokuczliwa zwłaszcza dla osób korzystających z więcej niż jednego systemu operacyjnego. Przeszkadza ona również podczas prób uruchomienia Visty pod maszyną wirtualną, a także podczas tworzenia kopii zapasowych, które zajmują nawet kilkanaście razy więcej miejsca niż w czasach XP.

Do niedawna na testowym komputerze źródłem nieprzyjemnych wrażeń był też niedopracowany sterownik grafiki, winny niskiej wydajności animacji podczas przełączania okien za pomocą mechanizmu Flip3D oraz minimalizowania okna wyświetlanego w trybie pełnoekranowym. 

Do dziś nie potrafię również rozpracować ustawień sterownika HD Audio, w którym nie ma możliwości zmiany urządzenia wyjściowego z głośników na słuchawki (co ciekawe funkcja ta działa poprawnie w Viście x86, ale prawdę powiedziawszy przy dobrej jakości słuchawkach nie ma ona większego znaczenia), słabo też radzę sobie z tymi wszystkimi „czarodziejami” ustawień sieciowych (od ang. wizard) podczas zestawiania połączeń ad hoc między kartami bezprzewodowymi. Pozostaje nadal w mocy zarzut o wspieranie DRM, który dla części osób może być wystarczającym powodem do odrzucenia Visty.

Zakup 64-bitowej Visty, czy to w wersji BOX, czy też OEM nie wiąże się na szczęście z ryzykiem „utknięcia” z niekompatybilnym z naszym sprzętem systemem operacyjnym. W umowie licencyjnej znajduje się bowiem korzystny dla użytkownika wpis o zamienności 32- i 64-bitowej wersji systemu operacyjnego

Mówiąc precyzyjniej, sprawę migracji reguluje wpis o wersjach alternatywnych zamieszczony w punkcie 2c umowy licencyjnej. Istotne jest, aby w danym momencie użytkować tylko jedną z wersji zakupionego oprogramowania. 

Ten sam zapis o wersjach alternatywnych odnosi się również do prawa obniżenia generacji Windows przez posiadaczy Visty Business lub Ultimate – czyli dokonując „downgrade” możemy wybrać między XP Professional x86 a x64. Treść umów licencyjnych odnaleźć możemy na stronie producenta

Podsumowując

Można stwierdzić, że w obecnej chwili maniacy wydajności nie powinni odczuwać szczególnej presji w kierunku instalacji Visty x64. Brak natywnego oprogramowania, niewielkie spowolnienie oprogramowania obsługiwanego poprzez WoW64, czy wreszcie potencjalne (choć raczej rzadkie) problemy ze sterownikami mogą przeważyć szalę na korzyść systemu 32-bitowego. 

Współczesne aplikacje, mimo iż coraz bardziej się rozrastają, jednocześnie nieznacznie zyskując na funkcjonalności, ciągle będą bardzo wydajnie pracować na komputerze z 3 GB pamięci.

Z drugiej strony spowolnienie większości aplikacji 32-bitowych pod Vistą x64 jest nieznaczne, większa ilość pamięci poprawia komfort pracy i zwiększa efektywność funkcji Prefetch, oprogramowanie rezydując w pamięci (a nie pliku wymiany) działa szybciej podczas przełączania między oknami. Mamy więc takie szczęście, że jakiegokolwiek wyboru dokonamy zawsze możemy podeprzeć go racjonalną argumentacją.

Początki migracji platformy Windows na 64 bity nie przebiegają jak widać ani dynamicznie, ani całkowicie bezboleśnie. Zdecydowanie nie warto być pionierem jeśli przypłacimy to koniecznością zmiany przyzwyczajeń, przejściowym obniżeniem produktywności, nie odnosząc przy tym łatwo zauważalnych korzyści.

Jeśli chodzi o mój wybór systemów z rodziny Windows to uważam, że jeśli Vista to x64. Natomiast w grupie 32-bitowych moim liderem pozostaje XP i nie zamieniam go na Vistę x86.

Kończąc artykuł przyznam, że czuję się nieco winny „nakręcenia” Czytelnika we wstępie, a później sprowadzenia go na ziemię przy przeglądzie wyników benchmarków. Pocieszające jest to, że kiedyś w końcu sensownie zoptymalizowane aplikacje 64-bitowe się pojawią i będzie trochę szybciej.

Na koniec jeszcze przypomnę, że gdy w celach testowych (takie małe pokoiki dla testerów ;) zdecydujemy się na instalację 32- i 64-bitowego systemu operacyjnego, to nie wolno robić tego na tej samej partycji. Vista x64 w Program Files przechowuje bowiem tylko 64-bitowe aplikacje, a na 32-bitowe ma folder Program Files (x86).

Wybrane dla Ciebie
ZANIM WYJDZIESZ... NIE PRZEGAP TEGO, CO CZYTAJĄ INNI!