2024 Autor: Peter John Melton | [email protected]. Zuletzt bearbeitet: 2023-12-16 04:41
Wenn Sie jemals versucht haben, ein altes Computerspiel auf einem modernen System zum Laufen zu bringen, waren Sie wahrscheinlich schockiert, wie es gehtschnell Das Spiel lief. Warum laufen alte Spiele auf moderner Hardware außer Kontrolle?
Heute haben wir Ihnen gezeigt, wie Sie ältere Software auf modernen Computern ausführen können. Die heutige Frage-und-Antwort-Sitzung ist ein schönes Kompliment, das herausfindet, warum einige ältere Software (insbesondere Spiele) nie richtig zu funktionieren scheinen, wenn Sie versuchen, sie auf moderner Hardware auszuführen.
Die heutige Question & Answer-Sitzung wird von SuperUser zur Verfügung gestellt - einer Unterteilung von Stack Exchange, einer Community-basierten Gruppierung von Q & A-Websites.
Die Frage
SuperUser Reader TreyK möchte wissen, warum alte Computerspiele auf neuer Hardware schnell verrückt werden:
I’ve got a few old programs I pulled off an early 90s-era Windows computer and tried to run them on a relatively modern computer. Interestingly enough, they ran at a blazing fast speed – no, not the 60 frames per second kind of fast, rather the oh-my-god-the-character-is-walking-at-the-speed-of-sound kind of fast. I would press an arrow key and the character’s sprite would zip across the screen much faster than normal. Time progression in the game was happening much faster than it should. There are even programs made to slow down your CPU so that these games are actually playable.
I’ve heard that this is related to the game depending on CPU cycles, or something like that. My questions are:
- Why do older games do this, and how did they get away with it?
- How do newer games not do this and run independently of the CPU frequency?
Was ist also die Geschichte? Warum blitzen die Sprites in alten Spielen so schnell auf dem Bildschirm, dass das Spiel unspielbar wird?
Die Antwort
SuperUser-Mitwirkender JourneymanGeek bringt es auf:
I believe they assumed the system clock would run at a specific rate, and tied in their internal timers to that clock rate. Most of these games probably ran on DOS, and were real mode (with complete, direct hardware access) and assumed you were running a iirc 4.77 MHz system for PCs and whatever standard processor that model ran for other systems like the Amiga.
They also took clever shortcuts based on those assumptions including saving a tiny bit of resources by not writing internal timing loops inside the program. They also took up as much processor power as they could – which was a decent idea in the days of slow, often passively cooled chips!
Initially one way to get around differing processor speed was the good old Turbo button (which slowed your system down). Modern applications are in protected mode and the OS tends to manage resources – they wouldn’t allow a DOS application (which is running in NTVDM on a 32-bit system anyway) to use up all of the processor in many cases. In short, OSes have gotten smarter, as have APIs.
Heavily based off this guide on Oldskool PC where logic and memory failed me – it’s a great read, and probably goes more in depth into the “why”.
Stuff like CPUkiller use up as many resources as possible to “slow” down your system, which is inefficient. You’d be better off using DOSBox to manage the clock speed your application sees.
Wenn Sie neugierig sind, wie der eigentliche Code in frühen Computerspielen implementiert wurde (und warum sie sich so schlecht an moderne Systeme anpassen, ohne in einem Emulationsprogramm geschliffen zu werden), empfehlen wir Ihnen auch, diese lange, aber interessante Aufschlüsselung von Prozess in einer anderen SuperUser-Antwort.
Haben Sie etwas zur Erklärung hinzuzufügen? Ton aus in den Kommentaren. Möchten Sie mehr Antworten von anderen technisch versierten Stack Exchange-Benutzern lesen? Hier geht es zum vollständigen Diskussionsthread.
Empfohlen:
Warum sehen alte Spielekonsolen auf modernen Fernsehgeräten so schlecht aus?
Alte Spielkonsolen sind großartig. Nicht nur, weil es viele alte Spiele gibt, die es noch wert sind, gespielt zu werden, sondern auch, weil die einfacheren elektronischen Systeme von auf Kassetten basierenden Systemen dazu neigen, viel verschleißfester zu sein als moderne Konsolen auf Disk-Basis in sehr gutem Zustand.
Was ist "Host-Prozess für Windows-Aufgaben" und warum laufen so viele auf meinem PC?
Wenn Sie etwas Zeit im Task-Manager-Fenster suchen, ist wahrscheinlich ein Prozess mit dem Namen "Host Process for Windows-Aufgaben" aufgetreten. Tatsächlich haben Sie wahrscheinlich mehrere Instanzen dieser Aufgabe zur gleichen Zeit gesehen. Wenn Sie sich jemals gefragt haben, was es war und warum es manchmal so viele gibt, haben wir die Antwort für Sie.
Was sind mds und mdworker und warum laufen sie auf meinem Mac?
Beim Auschecken des Aktivitätsmonitors haben Sie einige Prozesse bemerkt, die Sie nicht kennen: mds und mdworker. Sie haben weder ein Symbol noch scheinen sie ständig zu laufen. Keine Sorge, sie sind harmlos.
Warum alte Programme auf modernen Windows-Versionen nicht ausgeführt werden können (und wie Sie sie trotzdem ausführen können)
In Windows dreht sich alles um Abwärtskompatibilität, sodass Benutzer - insbesondere Unternehmen - ihre wichtigen Anwendungen weiterhin mit neuen Windows-Versionen verwenden können. Aber es gibt Grenzen. Je älter ein Programm ist, desto wahrscheinlicher wird es brechen.
8-Bit-Schriften Fügen Sie modernen Computern Retro-Flair hinzu
Wenn Sie nach der richtigen Schriftart für Ihr Retro-Computing-Projekt suchen, kann diese Sammlung von 8-Bit-Systemzeichensätzen aus den 70er und 80er Jahren hilfreich sein.