Αρχική σελίδα » πως να » Γιατί τα παλιά παιχνίδια τρέχουν πολύ γρήγορα στους σύγχρονους υπολογιστές;

    Γιατί τα παλιά παιχνίδια τρέχουν πολύ γρήγορα στους σύγχρονους υπολογιστές;

    Εάν έχετε δοκιμάσει ποτέ να πάρετε ένα vintage παιχνίδι υπολογιστή και να τρέξει σε ένα σύγχρονο σύστημα, έχετε πιθανώς σοκαρίστηκε για το πώς γρήγορα το παιχνίδι έτρεξε. Γιατί τα παλιά παιχνίδια εξαντλούνται στον σύγχρονο εξοπλισμό?

    Νωρίτερα σήμερα σας παρουσιάσαμε πώς να χρησιμοποιείτε παλαιότερο λογισμικό σε σύγχρονους υπολογιστές. η σημερινή συνεδρίαση ερωτήσεων και απαντήσεων είναι μια συμπαθητική φιλοφρόνηση που ανακαλύπτει γιατί κάποιο παλιό λογισμικό (ειδικά παιχνίδια) δεν φαίνεται να λειτουργεί σωστά όταν προσπαθείτε να τα εκτελέσετε σε σύγχρονο υλικό.

    Η σημερινή συνάντηση ερωτήσεων και απαντήσεων έρχεται σε επαφή με το SuperUser - μια υποδιαίρεση του Stack Exchange, μια κοινότητα που κατευθύνεται από τους ιστότοπους ερωτήσεων & απαντήσεων.

    Το ερώτημα

    Ο αναγνώστης SuperUser TreyK θέλει να μάθει γιατί τα παλιά παιχνίδια στον υπολογιστή τρέχουν γρήγορα τρελά σε νέο υλικό:

    Έχω μερικά παλιά προγράμματα που έβγαλα από έναν υπολογιστή των Windows των αρχών της δεκαετίας του '90 και προσπάθησα να τα τρέξω σε έναν σχετικά σύγχρονο υπολογιστή. Είναι ενδιαφέρον ότι έτρεξαν με μια ταχύτατη γρήγορη ταχύτητα - όχι, όχι τα 60 καρέ ανά δευτερόλεπτο είδος γρήγορου, μάλλον ο θεός-ο-θεός-ο-χαρακτήρα-είναι-το περπάτημα στο ταχύτητα του ήχου είδος γρήγορα. Θα πιέζω ένα πλήκτρο βέλους και ο σπρίχτης του χαρακτήρα θα φουσκώνει από την οθόνη πολύ πιο γρήγορα από το κανονικό. Η εξέλιξη του χρόνου στο παιχνίδι συνέβαινε πολύ πιο γρήγορα από ό, τι έπρεπε. Υπάρχουν ακόμη και προγράμματα για να επιβραδύνετε τη CPU σας, ώστε αυτά τα παιχνίδια να μπορούν να αναπαραχθούν.

    Έχω ακούσει ότι αυτό σχετίζεται με το παιχνίδι ανάλογα με τους κύκλους της CPU ή κάτι τέτοιο. Οι ερωτήσεις μου είναι:

    • Γιατί τα παλιά παιχνίδια το κάνουν αυτό και πώς ξεφεύγουν από αυτό?
    • Πώς τα νεότερα παιχνίδια δεν κάντε αυτό και τρέχετε ανεξάρτητα από τη συχνότητα της CPU?

    Λοιπόν, ποια είναι η ιστορία; Γιατί ακριβώς οι sprites στα παλιά παιχνίδια φλεγμονώνονται στην οθόνη τόσο γρήγορα το παιχνίδι γίνεται unplayable?

    Η απάντηση

    Συνεργάτης SuperUser JourneymanGeek το καταργεί:

    Πιστεύω ότι υπολόγισαν ότι το ρολόι του συστήματος θα τρέχει με ένα συγκεκριμένο ρυθμό και θα συνδέεται με τους εσωτερικούς χρονομετρητές σε αυτό το ρυθμό ρολογιού. Τα περισσότερα από αυτά τα παιχνίδια πιθανότατα έτρεχαν σε DOS και ήταν πραγματικοί τρόποι (με πλήρη άμεση πρόσβαση στο υλικό) και υποθέσατε ότι τρέχετε ένα iirc 4.77 MHz για υπολογιστές και ό, τι τυποποιημένο επεξεργαστή που έτρεξε το μοντέλο για άλλα συστήματα όπως η Amiga.

    Έλαβαν επίσης έξυπνες συντομεύσεις που βασίστηκαν σε αυτές τις υποθέσεις, συμπεριλαμβανομένης της εξοικονόμησης ενός ελάχιστου ποσού πόρων, επειδή δεν έγραψαν εσωτερικούς βρόχους χρονομέτρησης στο εσωτερικό του προγράμματος. Έλαβαν επίσης όσο περισσότερη δύναμη επεξεργαστή - που ήταν μια αξιοπρεπής ιδέα στις μέρες αργών, συχνά παθητικά δροσισμένων τσιπ!

    Αρχικά, ένας τρόπος να ξεπεράσετε την ταχύτητα του επεξεργαστή ήταν το παλιό καλό κουμπί Turbo (το οποίο επιβράδυνε το σύστημά σας). Οι σύγχρονες εφαρμογές βρίσκονται σε προστατευμένη λειτουργία και το λειτουργικό σύστημα τείνει να διαχειρίζεται πόρους - δεν θα ήταν επιτρέπω μια εφαρμογή DOS (η οποία τρέχει σε NTVDM σε ένα 32-bit σύστημα ούτως ή άλλως) για να χρησιμοποιήσει όλο τον επεξεργαστή σε πολλές περιπτώσεις. Εν ολίγοις, τα OSs έχουν γίνει πιο έξυπνα, όπως και τα API.

    Βασισμένο σε μεγάλο βαθμό από αυτόν τον οδηγό στο PC Oldskool, όπου η λογική και η μνήμη μου απέτυχαν - είναι μια μεγάλη ανάγνωση και μάλλον πηγαίνει περισσότερο σε βάθος στο "γιατί".

    Τα πράγματα όπως το CPUkiller χρησιμοποιούν όσο το δυνατόν περισσότερους πόρους για να "επιβραδύνουν" το σύστημα σας, το οποίο είναι αναποτελεσματικό. Θα προτιμούσατε να χρησιμοποιείτε το DOSBox για να διαχειριστείτε την ταχύτητα του ρολογιού που βλέπει η εφαρμογή σας.

    Εάν είστε περίεργοι για τον τρόπο με τον οποίο ο πραγματικός κώδικας εφαρμόστηκε σε πρώιμα παιχνίδια υπολογιστών (και γιατί προσαρμόζονται τόσο ανεπαρκώς στα σύγχρονα συστήματα χωρίς να είναι sandboxed σε κάποιο είδος προγράμματος εξομοίωσης), προτείνουμε επίσης να ελέγξετε αυτή τη μακρά αλλά ενδιαφέρουσα κατανομή των διαδικασία σε άλλη απάντηση SuperUser.


    Έχετε κάτι να προσθέσετε στην εξήγηση; Απενεργοποιήστε τα σχόλια. Θέλετε να διαβάσετε περισσότερες απαντήσεις από άλλους τεχνολογικούς χρήστες Stack Exchange; Δείτε το πλήρες νήμα συζήτησης εδώ.