لماذا تسير الألعاب القديمة بسرعة كبيرة على أجهزة الكمبيوتر الحديثة؟

جدول المحتويات:

فيديو: لماذا تسير الألعاب القديمة بسرعة كبيرة على أجهزة الكمبيوتر الحديثة؟

فيديو: لماذا تسير الألعاب القديمة بسرعة كبيرة على أجهزة الكمبيوتر الحديثة؟
فيديو: Microsoft Teams Complete Tutorial: Teams Made Easy 2024, مارس
لماذا تسير الألعاب القديمة بسرعة كبيرة على أجهزة الكمبيوتر الحديثة؟
لماذا تسير الألعاب القديمة بسرعة كبيرة على أجهزة الكمبيوتر الحديثة؟
Anonim
Image
Image

إذا كنت قد حاولت الحصول على لعبة كمبيوتر قديمة وتشغيلها على نظام حديث ، فمن المحتمل أنك صدمت من ذلكبسرعة ركض اللعبة. لماذا تخرج الألعاب القديمة عن السيطرة على الأجهزة الحديثة؟

في وقت سابق من اليوم ، أظهرنا لك كيفية تشغيل البرامج القديمة على أجهزة الكمبيوتر الحديثة. جلسة الأسئلة والأجوبة اليوم هي مجاملة رائعة تتحكم في سبب عدم تشغيل بعض البرامج القديمة (الألعاب تحديدًا) على الإطلاق عند محاولة تشغيلها على الأجهزة الحديثة.

تأتي جلسة الأسئلة والأجوبة اليوم مقدمة من SuperUser ، وهي قسم فرعي من Stack Exchange ، وهو عبارة عن مجموعة من المنتديات على مستوى المجتمع المحلي على مواقع الأسئلة والأجوبة.

السؤال

يريد قارئ TREK المؤلف من SuperUser معرفة سبب تشغيل ألعاب الكمبيوتر القديمة بسرعة فائقة على الأجهزة الجديدة:

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?

إذن ما هي القصة؟ لماذا بالضبط تتكاثر النقوش المتحركة في الألعاب القديمة عبر الشاشة بسرعة وتصبح اللعبة غير قابلة للتشغيل؟

الاجابة

مساهم SuperUser JourneymanGeek يكسره:

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.

إذا كنت متشوقًا حول كيفية تنفيذ الشفرة الفعلية في ألعاب الكمبيوتر المبكرة (ولماذا تتكيف بشكل سيئ جدًا مع الأنظمة الحديثة دون أن يتم وضع الحماية في نوع ما من برامج المحاكاة) ، فإننا نقترح أيضًا التحقق من هذا التعطيل الطويل والمثير للاهتمام العملية في إجابة أخرى لـ SuperUser.

هل لديك شيء تضيفه إلى الشرح؟ الصوت في التعليقات. هل ترغب في قراءة المزيد من الإجابات من مستخدمي Stack Exchange الآخرين المحترفين بالتكنولوجيا؟ تحقق من موضوع المناقشة الكامل هنا.

موصى به: