16Aug

Miksi vanhoja pelejä ajaa aivan liian nopeasti nykyaikaisilla tietokoneilla?

click fraud protection

Jos olet joskus yrittänyt saada vintage-tietokonepeliä nykyaikaiseen järjestelmään, olet todennäköisesti järkyttynyt siitä, miten nopea peli suoritti. Miksi vanhat pelit loppuvat nykyaikaisilla laitteilla?

Aiemmin tänään näytimme, kuinka vanhempia ohjelmia käytetään vanhoissa tietokoneissa;tämän päivän kysymys- ja vastausistunto on mukava kohteliaisuus, joka kaivaa siihen, miksi jotkut vanhemmat ohjelmistot( erityisesti pelit) eivät näytä toimivan oikein, kun yrität käyttää niitä moderneilla laitteistoilla.

Tämän päivän kysymys &Vastausistunto tulee meille kohteliaasti SuperUser-osastoon Stack Exchange, yhteisöllinen ryhmittely Q & A verkkosivuilla.

Kysymys

SuperUser-lukija TreyK haluaa tietää, miksi vanhoja tietokonepelejä pärjäävät nopeasti uusilla laitteistoilla:

Minulla on muutamia vanhoja ohjelmia, jotka vedin pois varhaisesta 90-luvun Windows-tietokoneesta ja yritin käyttää niitä suhteellisen moderniin tietokoneeseen. Mielenkiintoista kyllä, he juoksivat kiihkeästi nopealla nopeudella - ei, ei 60 kuvaa sekunnissa nopea, pikemminkin oh-my god-the-character-on-the-speed-of-sound -tyyppinennopeasti. Haluan painaa nuolinäppäintä ja merkin sprite vetää zip-näytön yli paljon nopeammin kuin normaali. Peliajan eteneminen tapahtui paljon nopeammin kuin pitäisi. On olemassa jopa ohjelmia, jotka hidastavat prosessoria, jotta nämä pelit ovat todella pelattavissa.

instagram viewer

Olen kuullut, että tämä liittyy peliin riippuen CPU-sykleistä tai sellaisesta. Kysymykseni ovat:

  • Miksi vanhemmat pelit tekevät niin, ja miten he pääsivät pois sen kanssa?
  • Kuinka uudet -pelit eivät ole : n kanssa ja toimivat riippumatta CPU-taajuudesta?

Joten mikä on tarina? Miksi täsmälliset versiot vanhoissa peleissä puhaltavat näytöllä niin nopeasti, että peli ei ole soitettavissa?

Vastaus

SuperUser-avustaja JourneymanGeek rikkoo sen:

Uskon, että he ottivat järjestelmän kellon kulkevan tiettyyn nopeuteen ja sidottuun sisäiseen ajastimeensa tähän kellotaajuuteen. Suurin osa näistä peleistä lähti todennäköisesti DOS: lla, ja ne olivat todellinen tila( täydellisellä ja suoralla laitteistolla) ja oletko käyttänyt iirc 4.77 MHz -järjestelmää tietokoneille ja mille tahansa standardiprosessorille, jota malli käytti muissa järjestelmissä, kuten Amiga.

He ottivat myös älykkäitä pikakuvakkeita, jotka perustuvat näihin oletuksiin, mukaan lukien pienen resurssin tallentaminen, kun ei kirjoitettu sisäisiä ajastussilmukoita ohjelmassa. Heillä oli myös niin paljon prosessoriteitä kuin he voisivat - mikä oli kunnollinen ajatus hitaiden, usein passiivisesti jäähdytettyjen pelimerkkien päivinä!

Alun perin eräs proses- sien nopeuden kiertäminen oli hyvä vanha Turbo-painike( joka hidasti järjestelmääsi alaspäin).Nykyaikaiset sovellukset ovat suojatussa tilassa ja käyttöjärjestelmä hallitsee resursseja - ne eivät sallisi : n DOS-sovellusta( joka on käynnissä NTVDM: ssä 32-bittisessä järjestelmässä joka tapauksessa) kaikkien prosessorin käyttämiseksi monissa tapauksissa. Lyhyesti sanottuna OSes ovat päässeet älykkäämpiä, samoin kuin API: t.

Voimakkaasti perustuu tähän oppaan Oldskool PC: hen, jossa logiikka ja muisti ovat epäonnistuneet - se on hyvä lukea ja luultavasti syventyy "miksi".

CPU: n kaltaiset asiat käyttävät mahdollisimman paljon resursseja järjestelmän hidastamiseksi, mikä on tehotonta. Sinun olisi parasta käyttää DOSBoxia hallitsemaan kellonopeutta, jota hakemuksesi näkee.

Jos olet kiinnostunut siitä, kuinka todellinen koodi on toteutettu varhaisissa tietokonepeleissä( ja miksi he sopeutuvat niin huonosti nykyaikaisiin järjestelmiin ilman, että heillä on hiekkalaatikko jonkinlaisessa emulointiohjelmassa), suosittelemme myös tätä pitkiä mutta mielenkiintoista erittelyäprosessin toisessa SuperUser-vastauksessa.

Onko sinulla jotain lisättävää selitystä?Kuulkaa kommentit. Haluatko lukea lisää vastauksia muilta tech-tajuilta Stack Exchange-käyttäjiltä?Katso koko keskusteluketju täältä.