Windows XP z pohledu hráče

  • 7672
Microsoft nám nabízí svůj nový operační systém a jeho reference z odborného tisku i z komunity betatesterů jsou poměrně příznivé. Stojí za to podstupovat proces upgradu, nainstalovat Windows XP a přeorientovat se na ně? Je jejich výkon v hrách takový, aby přilákal hráče? Nahlédněme trochu pod pokličku.

Záměr tvůrců: stabilita, ale i rychlost
Nový operační systém firmy Microsoft se už prodává a reklamy, jak jinak, slibují pro všechny skupiny uživatelů jen to nejlepší. Má cenu opouštět devadesátosmičky nebo dvoutisícovky a vydat se do toho neznáma, kterým změna základního softwarového podloží vždy je? Microsoft vynaložil nemalé pracovní úsilí a k tomu přes 100 propagačních miliónů dolarů, aby o tom přesvědčil celý svět. Jsou různé důvody, proč si (ne)zvolit Windows XP jako svůj operační systém – my se dnes na některé z nich podíváme.

Windows XP mají být konečně tou správnou kombinací stability (poskytované dosud jen řadou NT/2000) a výkonu (zde dominuje řada Windows 9x). Co činí Windows NT/2000 podstatně stabilnějšími než jsou jejich 9x protějšky? Je to součást zvaná hardware abstraction layer nebo zkráceně HAL, skrz kterou procházejí veškeré požadavky ovladačů na přístup k hardwarovým zařízením. HAL nepropustí taková volání, která by narušila stabilitu systému, a případně v nich provádí jisté korekce. Daní za toto bezpečí je ovšem snížená rychlost: kontrola přípustnosti požadavků samozřejmě zabere nějaký čas. Windows 9x takovouto kontrolu neprovádějí – v zájmu rychlosti umožňují ovladačům přímý přístup k hardwaru na té nejnižší možné úrovni. Stačí však opomenutí či nedbalost programátorů ovladačů (nebo také jejich snaha vymáčknout ze zařízení maximum bez ohledu na celkovou bezpečnost) a „modrá obrazovka smrti“ je na cestě.

Jádro nového operačního systému stojí na pevných základech řady NT/2000 – otázkou však bylo, jak na tomto „ochranářském“ modelu zajistit rychlost multimediálních operací. A protože o multimediální záležitosti se ve Windows již několik let stará DirectX, bylo nabíledni, že je nutné zajistit hladkou spolupráci tohoto rozhraní a HALu. Microsoft vyšlapával tuto pěšinku už nějaký čas; ve Windows NT ještě byla podpora her dost slabá, ale Windows 2000 již byly v tomto ohledu na velmi solidní úrovni. Windows XP jsou momentálně vrcholem snažení Microsoftu co se týče rychlosti průchodu požadavků DirectX skrz HAL při současném zachování bezpečnosti.

Zajištění kompatibility
V minulosti vzniklo dost her, které detekují (třeba už při instalaci) verzi Windows, a pokud zjistí, že se nejedná o 9x, odmítnou další spolupráci. Za tímto účelem obsahují Windows XP režim kompatibility – libovolnému programu můžete v případě potřeby přiřadit verzi OS (95/98/ME/NT 4/2000), kterou mu Windows XP budou simulovat. Pamětníci si jistě připomenou utilitu SETVER, která sloužila k témuž účelu v prostředí operačního systému MS-DOS.

Benchmarky pod Windows XP – trochu práce navíc
Jedním z nejpodstatnějších měřítek, které bude hráč před přechodem zvažovat, je přirozeně výkon. Jenže benchmarkování pod Windows XP není tak jednoduchou záležitostí chceme-li získat konzistentní výsledky, musíme se vypořádat s některými nástrahami. XP totiž během svého chodu provádí řadu analýz a dynamických optimalizací – vyhodnocuje například přístupy k souborům a pokud zjistí, že některé z nich často/vždy načítáte pospolu, přemístí je na disku tak, aby se daly společně načíst co nejrychleji. U diskově orientovaných benchmarků tak můžete v průběhu času naměřit podstatně odlišné hodnoty! Microsoft dokonce vytvořil doporučenou metodologii pro benchmarkování pod Windows XP, která je podrobněji popsána (anglicky) zde. Sestává z následujících kroků:

1) Instalace operačního systému
2) Instalace benchmarkovacího programu (BP)
3) Několikeré spuštění a ukončení BP
4) Vyvolání funkce ProcessIdleTask ze souboru advapi32.dll
5) Spuštění BP a měření hodnot

Dynamické optimalizace se vykonávají na pozadí, když je systém nečinný; otázkou ovšem je, jak je tato „nečinnost“ definována a zda by se některé optimalizace nechtěly spouštět uprostřed nějakého benchmarku. Jistotu, že se tak nestane, by podle Microsoftu mělo přinést explicitní vyvolání funkce ProcessIdleTask před vlastním benchmarkem – tato funkce zajistí okamžité provedení všech naplánovaných optimalizačních úloh a vyprázdnění jejich zásobníku. To se provede příkazem

Rundll32.exe advapi32.dll,ProcessIdleTasks

Hry ve Windows XP
Server FiringSquad nedávno provedl poměrně komplexní srovnávací měření mezi Windows XP, 98SE a 2000. Nový OS dosáhl výsledků, které mnohé z nás ponechávají na pochybách, zda upgradovat či nikoli. V kancelářských aplikacích si XP vede o něco málo lépe než 98SE, v hrách je tomu většinou naopak (i když rozdíly jsou nepatrné). Přičteme-li k tomu, že zdaleka ne pro všechny kousky hardwaru již existují XPčkové ovladače, a že paměťová a výpočetní náročnost XP je podstatně vyšší než u 98SE, mám pocit, že pro běžného uživatele ještě nenastal ten správný čas na upgrade. Argumentů pro změnu bude samozřejmě přibývat s tím, jak se budou výrobci hardwaru i softwaru od starších OS postupně odvracet, ale pro mě osobně se váhy zatím směrem k Windows XP nepřevážily.

3DMark2001

Zdroje: FiringSquad, Microsoft


Témata: Microsoft, software