16Aug
Ak ste sa niekedy pokúšali získať moderné počítačové hry na moderný systém, pravdepodobne ste boli šokovaní, ako sa rýchlo stala .Prečo staré hry nemajú kontrolu nad moderným hardvérom?
Dnes sme vám ukázali, ako spustiť starší softvér na moderných počítačoch;dnešná otázka a odpoveď je pekná kompliment, ktorý sa zaoberá tým, prečo niektoré staršie softvéry( konkrétne hry) nikdy nefungujú správne, keď sa pokúsite spustiť ich na moderný hardvér.
Dnešná otázka &Odpoveď na zasadnutie nám príde s láskavým dovolením SuperUser - subdivíziu Stack Exchange, komunitne riadeného zoskupenia webových stránok Q & A.
Otázka
čítačka SuperUser TreyK chce vedieť, prečo staré počítačové hry rýchlo bláznia na novom hardvéri:
Mám niekoľko starých programov, ktoré som stiahol z počítača so systémom Windows na začiatku 90. rokov a pokúsil sa ich spustiť na relatívne modernom počítači, Zaujímavosťou bolo, že bežali s rýchlou rýchlosťou - nie, nie rýchlosť 60 snímok za sekundu, ale skôr ohmy-moja-boha-charakter-je-chôdza-na-rýchlosť-zvuk druhurýchlo. Chcel by som stlačiť klávesu so šípkou a sprite postavy by zips po obrazovke oveľa rýchlejšie ako zvyčajne.Časový priebeh hry sa deje oveľa rýchlejšie, ako by mal. Existujú dokonca aj programy na spomalenie vášho CPU, aby boli tieto hry skutočne hrateľné.
Počul som, že to súvisí s hrou v závislosti na cykloch CPU alebo niečom takom. Moje otázky sú:
- Prečo robia staršie hry a ako sa s nimi dostali?
- Ako to robia novšie hry ako a fungujú nezávisle od frekvencie procesora?
Takže aký je príbeh? Prečo presne skriptovia v starých hrách plávajú po obrazovke tak rýchlo, že hra sa stáva nehrateľnou?
Odpoveď
SuperUser prispievateľ JourneymanGeek to rozdelí:
Verím, že predpokladali, že systémové hodiny budú bežať v určitej rýchlosti a viazané vo svojich interných časovačoch na túto frekvenciu. Väčšina z týchto hier pravdepodobne bežala na DOS a bola skutočným režimom( s úplným priamym prístupom k hardvéru) a predpokladali ste, že používate systém iirc 4,77 MHz pre počítače a akýkoľvek bežný procesor, ktorý tento model bežal pre iné systémy, ako je Amiga.
Tiež si vzali šikovné skratky založené na týchto predpokladoch vrátane uloženia trochu zdrojov tým, že do programu nezapisovali interné časovacie slučky. Tiež zaujali toľko procesorových síl, čo mohli - čo bolo slušným nápadom v dňoch pomalých, často pasívne chladených čipov!
Spočiatku jeden spôsob, ako získať rôzne rýchlosti procesora bol dobrý starý tlačidlo Turbo( ktorý spomalil váš systém dole).Moderné aplikácie sú v chránenom režime a OS majú tendenciu spravovať zdroje - nedovolia aplikácii DOS( ktorá beží v NTVDM na 32-bitovom systéme tak ako tak), aby v mnohých prípadoch využila celý procesor. Stručne povedané, operačné systémy sa stali múdrejšími, rovnako ako API.
Silne založené na tejto príručke na PC Oldskool, kde mi logika a pamäť zlyhala - je to skvelé čítanie a pravdepodobne ide hlbšie do "prečo".
Veci ako CPUkiller využívajú toľko zdrojov, ako je to len možné, aby "pomaly" znižovali váš systém, čo je neefektívne. Bolo by lepšie používať DOSBox na správu rýchlosti hodín, ktorú vaša aplikácia vidí.
Ak ste zvedaví, ako bol skutočný kód implementovaný v skorých počítačových hrách( a prečo sa tak veľmi zle prispôsobujú moderným systémom bez toho, aby boli v nejakom emulačnom programe umiestnení do piesku), takisto by sme odporúčali skontrolovať tento zdĺhavý ale zaujímavý rozpisprocesu v inej odpovedi služby SuperUser.
Musíte niečo doplniť k vysvetleniu? Zvuk vypnúť v komentároch. Chcete si prečítať viac odpovedí od iných používateľov technológie Stack Exchange? Pozrite sa na celý diskusný príspevok tu.