16Aug
Če ste kdaj poskušali pridobiti starinsko računalniško igro in jo izvajati v sodobnem sistemu, ste verjetno bili pretreseni, kako je hitro igrala tekma. Zakaj starejše igre zmanjkujejo nadzora nad sodobno strojno opremo?
Prej danes smo vam pokazali, kako zagnati starejšo programsko opremo na sodobnih računalnikih;Današnje vprašanje in odgovor je lep kompliment, ki razkriva, zakaj nekatera starejša programska oprema( posebej igre) nikoli ne zdi, da deluje pravilno, ko jih poskušate zagnati na sodobni strojni opremi.
Današnje vprašanje &S sejo odgovora prihaja uporaba SuperUserja, ki je razdeljena na Stack Exchange, skupinsko spletno stran Q & A.
Vprašalnik
SuperUser bralnik TreyK želi vedeti, zakaj stare računalniške igre hitro postanejo nore hitro na novi strojni opremi:
Imam nekaj starih programov, ki sem jih potegnil z zgodnjega 90-ihga računalnika Windows in jih poskušal zagnati na razmeroma sodobnem računalniku. Zanimivo je, da so tekli z bleščečo hitro hitrostjo - ne, ne 60 stopenj na sekundo, vrsta hitrega, temveč oh-my-god-the-character-is-hiking-at-the-speed-of-soundhitro. Pritisnil bi tipko s puščico in znak spreta bi zipal čez zaslon veliko hitreje kot običajno.Časovni napredek v igri se je zgodil veliko hitreje, kot bi moral. Obstajajo celo programi za upočasnitev vašega CPU, tako da so te igre dejansko mogoče predvajati.
Slišal sem, da je to povezano z igro, odvisno od ciklov procesorja ali podobnega. Moje vprašanje je:
- Zakaj starejše igre to počnejo in kako so se z njim izognili?
- Kako nove igre in ne delujejo in tečejo neodvisno od frekvence CPU?
Kakšna je zgodba? Zakaj točno sprige v starih igrah na zaslonu pahnejo tako hitro, da postane igra neprepustna?
Odzivnik
SuperUser prispevek JourneymanGeek razčlenjuje:
Verjamem, da so predpostavili, da bi sistemska ura delovala z določeno hitrostjo in povezala v svoje interne timerje s to uro. Večina teh iger je verjetno potekala na DOS-u in so bila v resničnem načinu( s popolnim, neposrednim dostopom do strojne opreme) in domnevali, da ste uporabljali iirc 4,77 MHz sistem za osebne računalnike in kateri koli standardni procesor, ki ga je model uporabljal za druge sisteme, kot je Amiga.
Prav tako so naredili pametne bližnjice, ki temeljijo na teh predpostavkah, vključno s shranjevanjem majhnih virov, tako da ne zapisujete internih časovnih zank znotraj programa. Prav tako so vzeli toliko moči procesorja, kot so lahko - kar je bila dostojna zamisel v dnevih počasnih, pogosto pasivnih hlajenja čipov!
Sprva je eden od načinov, kako doseči različno hitrost procesorja, je bil dober stari gumb Turbo( ki je upočasnil vaš sistem).Sodobne aplikacije so v zaščitenem načinu in OS teži za upravljanje virov - ne bi dovolil DOS aplikaciji( ki je v NTVDM na 32-bitnem sistemu v vsakem primeru), da bi v številnih primerih uporabljal ves procesor. Skratka, operacijski sistemi so postali pametnejši, prav tako imajo API-ji.
Ta priročnik na Oldskool PC-ju je močno zasnoval, kjer mi ni uspelo logika in pomnilnika - to je odlično branje in verjetno gre bolj podrobno v "zakaj".
Stvari, kot je CPUkiller, uporabljajo čim več virov, da "počasi" navzdol vaš sistem, kar je neučinkovito. Boste bolje uporabljati DOSBox za upravljanje hitrosti, ki jo vaša aplikacija vidi.
Če ste radovedni o tem, kako je bila dejanska koda izvedena v zgodnjih računalniških igrah( in zakaj se tako slabo prilagajajo sodobnim sistemom, ne da bi bili v nobeni vrsti emulacijskega programa), bi tudi predlagali, da preverite to dolgotrajno, a zanimivo razčlenitevpostopka v drugem odgovoru SuperUserja.
Ali želite dodati nekaj pojasnila? Zvok v komentarjih.Želite prebrati več odgovorov od drugih uporabniških članov stack Exchange? Oglejte si celotno temo za razpravo tukaj.