16Aug

Kodėl seni žaidimai paleisti pernelyg greitas šiuolaikinių kompiuterių?

Jei kada nors bandėte įsigyti senovinį kompiuterinį žaidimą modernioje sistemoje, jūs tikriausiai buvo nustebintas tuo, kaip žaidimas greitas žaidė.Kodėl senų žaidimų valdymas neleidžia modernios įrangos?

Šiandien anksčiau mes parodėme, kaip paleisti senesnę programinę įrangą šiuolaikiniuose kompiuteriuose;Šiandienos klausimynų ir atsakymų sesija yra gražus komplimentas, kuris renkasi į tai, kodėl kai kurios senesnės programinės įrangos( ypač žaidimų) niekada neatrodo tinkamos, kai bandote juos paleisti šiuolaikine įranga.

Šiandienos klausimas &Atsakymų sesija ateina pas mus iš "SuperUser" - "Stack Exchange", bendruomenės pagrįstos "Q & A" svetainių grupės pasidalijimo.

Klausimas

"SuperUser" skaitytuvas "TreyK" nori sužinoti, kodėl seni kompiuteriniai žaidimai greitai paleidžia naują aparatūrą:

Turiu kelias senas programas, kurias aš ištraukiau ankstyvojo 90-ųjų Windows kompiuterio ir bandė juos paleisti palyginti šiuolaikiniame kompiuteryje.Įdomu tai, kad jie bėgo sparčiu greičiu - ne, ne 60 kadrų per sekundę tipo greitas, greičiausiai och-my-god-the-character-is-walking-at-speed-of-sound rūšisgreitai. Aš norėčiau nuspausti rodyklių klavišą ir simbolio sprite užfiksuotų ekraną žymiai greičiau nei įprastai. Laiko progresavimas žaidime vyksta daug greičiau nei turėtų.Yra netgi programos, kurių paskirtis sulėtinti procesorių, kad šie žaidimai iš tikrųjų būtų žaidžiami.

Aš girdėjau, kad tai susiję su žaidimu, priklausomai nuo procesoriaus ciklų ar panašaus. Mano klausimai yra:

  • Kodėl vyresni žaidimai tai daro, ir kaip jie su jais nutolo?
  • Kaip naujesni žaidimai ne tai daro ir veikia nepriklausomai nuo procesoriaus dažnio?

Taigi, kokia istorija? Kodėl tiksliai seniame žaidime esantys speliai šviečia per visą ekraną taip greitai, kad žaidimas tampa neprilygstamas?

Atsakymas

SuperUser autorius JourneymanGeek sugadina jį:

Manau, kad jie priėjo prie sistemos, kad laikrodis dirbs konkrečiu greičiu ir susietas su jų vidiniais taimeriais iki tokio dažnio. Dauguma šių žaidimų tikriausiai veikė DOS ir buvo tikrojo režimo( su visišku tiesiogine prieiga prie aparatūros), ir manoma, kad kompiuteryje veikia iirc 4.77 MHz sistema ir bet koks standartinis procesorius, kurio modelis tinka kitoms sistemoms, tokioms kaip "Amiga".

Jie taip pat paėmė protingus sparčiuosius klavišus, pagrįstus tomis prielaidomis, įskaitant taupymą mažyliu išteklių kiekiu, nenurodydami vidinių programavimo ciklo viduje. Jie taip pat paėmė tiek daug procesoriaus galios, kiek galėjo - tai buvo tinkama idėja lėtai, dažnai pasyviai aušintuose lustuose!

Iš pradžių vienas iš būdų išspręsti skirtingą procesoriaus greitį buvo geras senas "Turbo" mygtukas( kuris sulėtina jūsų sistemą).Šiuolaikinės taikomosios programos yra saugomame režime, o OS yra linkusi valdyti išteklius - jie nebūtų , kad būtų DOS programa( kuri vis tiek naudojama NTVDM 32 bitų sistemoje) daugeliu atvejų išnaudoja visą procesorių.Trumpai tariant, operacinės sistemos gavo protingesnes, kaip ir API.

Labai pagrįstas šiuo "Oldskool" kompiuterio vadovu, kuriame logika ir atmintis man nepavyko - tai puikus skaitymas ir galbūt išsamiau aptariamas "kodėl".

priemonės, tokios kaip "CPUkiller", išnaudoja kuo daugiau išteklių, kad būtų galima "sulėtinti" jūsų sistemą, o tai yra neveiksminga. Geriau naudoti "DOSBox", kad galėtumėte valdyti laikrodžio greitį, kurį mato jūsų programa.

Jei norėtumėte žinoti, kaip faktinis kodas buvo įdiegtas ankstyvuosiuose kompiuteriniuose žaidimuose( ir kodėl jie taip blogai prisitaiko prie šiuolaikinių sistemų be smėlio dėžės tam tikroje emuliavimo programoje), mes taip pat siūlome patikrinti šį ilgą, bet įdomų suskirstymąkitame "SuperUser" atsakyme.

Ar ką nors pridėti prie paaiškinimo? Garsas išjungtas komentaruose. Norite skaityti daugiau atsakymų iš kitų "Tech-savvy Stack Exchange" vartotojų?Patikrinkite visą diskusijų temą čia.