16Aug

Proč staré hry běží příliš rychle na moderních počítačích?

click fraud protection

Pokud jste se někdy snažili získat moderní počítačovou hru na moderním systému, pravděpodobně jste byli šokováni, jak hra rychle probíhala. Proč staré hry vyčerpají kontrolu nad moderním hardwarem?

Dříve jsme vám ukázali, jak spustit starší software na moderních počítačích;dnešní zasedání s otázkami a odpověďmi je příjemným komplimentem, který se zabývá tím, proč některé starší programy( konkrétně hry) nikdy nefungují správně, když se pokusíte spustit je na moderním hardware.

dnešní otázka &Odpověď na zasedání se k nám dostala s laskavým svolením SuperUser - podřízenou výměnou Stack Exchange, skupině webů Q & A založených na komunitě.

Otázka

čtečka SuperUser TreyK chce vědět, proč staré počítačové hry běží blázen rychle na novém hardware:

Mám několik starých programů, které jsem odtáhl z počítače se systémem Windows v rané 90. letech a pokusil jsem se je spustit na relativně moderním počítači. Zajímavé bylo, že běhali rychlostí rychlostí - ne, nikoliv rychlostí 60 snímků za sekundu, spíše jako ohmy-můj bůh-charakter-je-chod-na-rychlost-z-zvuk druhurychle. Chtěl bych stisknout klávesu se šipkou a sprite charakteru by zip po obrazovce mnohem rychleji než normálně.Postup času ve hře se děje mnohem rychleji než by měl. Existují dokonce programy, které zpomalují CPU, takže tyto hry jsou skutečně hratelné.

instagram viewer

Slyšel jsem, že se jedná o hru závislou na cyklech CPU nebo něco takového. Moje otázky jsou:

  • Proč to dělají starší hry a jak se s nimi dostali?
  • Jak to dělají novější hry ne a fungují nezávisle na frekvenci procesoru?

Tak jaký je příběh? Proč přesně dělají sprites ve starých hrách po obrazovce tak rychle, že hra je nehratelná?

Odpověď odpovědi

SuperUser přispěvatel JourneymanGeek rozbije:

Věřím, že předpokládali, že systémové hodiny by běhly určitou rychlostí a vázaly ve svých interních časovačích na tuto frekvenci. Většina z těchto her se pravděpodobně rozběhla na DOS a byly skutečné( s úplným přímým přístupem k hardwaru) a předpokládali jste, že používáte systém iirc 4,77 MHz pro počítače a jaký standardní procesor tento model běžel pro jiné systémy, jako je Amiga.

Také chytré zkratky vycházely z těchto předpokladů, včetně ukládání malého množství zdrojů tím, že do programu nebyly psány interní synchronizační smyčky. Také si vzali tolik procesorových sil, kolik dokázali - což byl slušný nápad ve dnech pomalých, často pasivně ochlazených čipů!

Zpočátku jeden způsob, jak obejít různé rychlosti procesoru, bylo staré dobré tlačítko Turbo( které zpomalilo váš systém dolů).Moderní aplikace jsou v chráněném režimu a OS mají tendenci spravovat prostředky - nebudou umožňovat aplikaci DOS( která běží v NTVDM na 32bitových systémech), aby v mnoha případech využila celý procesor. Stručně řečeno, operační systémy se staly chytřejšími, stejně jako API.

Silně založené z této příručky na PC Oldskool, kde mi logika a paměť selhala - je to skvělé čtení a pravděpodobně jde do hloubky do "proč".

Věci, jako je CPUkiller, využívají co nejvíce prostředků k "zpomalení" vašeho systému, což je neúčinné.Budete lépe používat DOSBox ke správě rychlosti hodin, které vaše aplikace vidí.

Pokud jste zvědaví na to, jak byl skutečný kód implementován v časných počítačových hrách( a proč se tak špatně přizpůsobují moderním systémům, aniž by byli v nějakém emulačním programu v pískoviště), doporučujeme také prověřit tento zdlouhavý, ale zajímavý rozpisproces v jiné odpovědi SuperUser.

Musíte něco přidat k vysvětlení?Vypadněte v komentářích. Chcete se dozvědět více odpovědí od ostatních uživatelů technologie Stack Exchange? Podívejte se na celý diskusní příspěvek zde.