Anonim

لنواجه الأمر: أصبح برنامج DirectX 11 و OpenGL قديمًا بعض الشيء. تم تقديم DirectX 11 مع نظام التشغيل Windows 7 في عام 2009 ، وتلاه برنامج OpenGL 4.0 بعد ذلك بعام. في سنوات البرامج أصبحت هذه التقنيات قديمة ، ولم يكن المحصول الحالي للأجهزة التي تعمل بها حتى في لوحة الرسم عندما تم إصدار واجهة برمجة تطبيقات الرسومات هذه. بالنظر إلى هذا الانفصال الواضح ، ما الذي تفعله الصناعة لتلائم العصر؟ حسنًا ، سوف نلقي نظرة على المستقبل القريب ونرى ، ولكن للبدء ، دعنا أولاً نوضح ماهية واجهة برمجة التطبيقات والوظيفة التي تخدمها في الألعاب.

ما هو API؟

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

لجعل التفسير أعلاه أسهل قليلاً في الفهم ، سأستخدم القياس: فكر في واجهة برمجة التطبيقات (API) كمدير لموقع البناء. تتمثل وظيفته في أخذ فكرة المهندس المعماري وتقسيمها وتحديد مواعيد الطواقم التي يجب أن تكون أين ومتى ، والتأكد من أن الجميع على نفس الصفحة على ما يجب القيام به.

الشكل 1: تمثيل رسومي لكيفية عمل API

يستخدم حاليا الرسومات API ل

الآن وقد فهمنا وظيفة واجهة برمجة تطبيقات الرسومات ، فلنلقِ نظرة فاحصة على التشكيلة الحالية. اللاعب الرئيسي في السوق اليوم هو DirectX من Microsoft ، والذي تم عرضه بالكامل في عام 1995. لقد تم تحديثه عدة مرات منذ إصداره ، وهو مدرج في نظام تشغيل Microsoft Windows. DirectX هي واجهة برمجة تطبيقات الرسومات الوحيدة التي تدعمها كل لعبة تم إصدارها للكمبيوتر. في الواقع ، إنه أمر شائع لدرجة أنه هو حقًا معيار ألعاب الكمبيوتر الشخصي اليوم. يعد DirectX حصريًا لمنتجات Windows و Microsoft مما يجعله للأسف نظامًا مغلقًا للغاية. التالي في السطر هو OpenGL ، واجهة برمجة التطبيقات للرسومات مفتوحة المصدر الرئيسية فقط. تم إصدار OpenGL في عام 1992 وهو متعدد المنصات ، مما يعني أنه يعمل مع العديد من أنظمة التشغيل بما في ذلك Windows و Linux و Mac OS. أخيرًا ، لدينا أحدث رسومات API ، Mantle. تم تطوير Mantle في عام 2013 من خلال شراكة بين AMD و Dice. الوشاح متاح على نظام Windows ، وفقط لأجهزة AMD GPU.

الشكل 2: مقارنة بين DirectX 12 و DirectX 11
مصدر الصورة؛ صور الائتمان: إنتل

دايركت 12

من المقرر أن يتم إصدار DirectX 12 مع نظام التشغيل Windows 10 هذا الخريف وسيتم الترويج للعديد من التحسينات الجديدة. أحد التحسينات الكبيرة هو دعم خيوط متعددة أفضل بكثير. يتم توزيع المزيد من العمل على عدة نوى على وحدة المعالجة المركزية مما يسمح باستخدام وحدة المعالجة المركزية بشكل أفضل وأكثر كفاءة. في كثير من الأحيان ، سيكون لدى DirectX 11 جوهر واحد فقط من وحدة المعالجة المركزية بلغ الحد الأقصى تمامًا بينما تجلس النوى الأخرى بالقرب من الخمول. يتعهد DirectX 12 بتوزيع عبء العمل هذا على نوى وحدة المعالجة المركزية بشكل أكثر توازناً مما يمنح الألعاب قدرة أكبر لوحدة المعالجة المركزية للعمل معها. التحسين الكبير التالي الذي وعد به DirectX 12 هو القدرة على التعامل مع العديد من مكالمات السحب. تحدث مكالمة السحب في أي وقت يريد فيه محرك اللعبة رسم شيء ما على الشاشة. شرط الكثير من المكالمات التعادل عموما فرض ضرائب كبيرة على وحدة المعالجة المركزية. من المفترض أن يتمكن DirectX 12 من معالجة ما يصل إلى 600000 مكالمة سحب. لوضع هذا في المنظور ، لا يمكن لـ DirectX 9 سوى معالجة 6000 مكالمة سحب أو 1/100 من ما سيكون عليه DirectX 12.

لسنوات حتى الآن تشغيل GPU متعددة في وضع SLI / Crossfire كان ممكنا. ومع ذلك كان أحد القيود الكبيرة أن VRAM المضمنة في البطاقات لم تتكدس معًا لإنشاء تجمع كبير ومستمر. على سبيل المثال ، إذا كان لديك اثنين من وحدات معالجة الرسومات (GPU) يحتوي كل منهما على 2 غيغابايت من VRAM ، فلا يزال لديك فعليًا فقط 2 غيغابايت من VRAM لأن كل بطاقة يجب أن يكون لها نفس المعلومات المخزنة فيها. يأمل DirectX 12 في حل هذه المشكلة باستخدام AFR أو تقديم إطار بديل. بدلاً من تقديم كل جزء GPU لكل إطار ، ستقوم GPU الآن بدلاً من ذلك بتقديم إطار كامل لكل منها. سيسمح هذا باستخدام VRAM على كل بطاقة بشكل مستقل ، ونأمل أن تسمح للبطاقات التي تحتوي على كميات أصغر من VRAM بأن تكون قابلة للحياة لفترة أطول. من المفترض أن يكون هناك العديد من الميزات الجديدة الأخرى المضمنة في DirectX 12 لدفع رسومات الألعاب أكثر من أي وقت مضى. ومع ذلك ، لا تزال Microsoft تكتنف الصمت حول ماهية هذه الميزات الجديدة. نأمل أن نعرف المزيد عنها قريبًا مع اقتراب إصدار واجهة برمجة التطبيقات.

الشكل 3: يتم تقليل النفقات العامة لـ DirectX 12 API عند استخدام وحدة المعالجة المركزية متعددة النواة.
مصدر الصورة؛ الصورة الائتمان: نفيديا غيفورسي

VULKAN

لا يوجد شيء معروف عن Vulkan كما هو معروف عن DirectX 12 ، كما تم الإعلان عنه للتو في GDC 2015. ما نعرفه هو أن صانعي OpenGL ، Khronos Group ، أسقطوا اسم glNext لصالح Vulkan. يبدو أن Vulkan مشتق من Mantle ، والذي ذكرته سابقًا في المقال. علاوة على ذلك ، يبدو أن AMD تقدم أفضل أجزاء Mantle إلى طاولة Vulkan في شراكة مع Khronos Group. من المفترض أن يتمتع Vulkan بالعديد من المزايا نفسها لـ DirectX 12 ، لكنه غير مرتبط بمنصة واحدة مثل Windows. سيكون بدلاً من ذلك متاحًا على العديد من المنصات المختلفة ، بما في ذلك Linux وحتى الأجهزة المحمولة. ستكون برامج تشغيل Vulkan لنظامي التشغيل Windows و Linux مفتوحة المصدر تمامًا على عكس DirectX. سوف يحسن Vulkan الترابط المتعدد ، وبالتالي يستفيد بشكل أفضل من طاقة وحدة المعالجة المركزية المتاحة اليوم عن طريق نشر عبء العمل عبر عدة مراكز CPU. كما ذُكر سابقًا ، فإن الحد من الحمل على وحدة المعالجة المركزية سيسمح بعدم معالجة الجرافيك بسهولة كما هي الآن. هذا يجب أن يوفر دفعة framerate كبيرة إلى حد ما أثناء الألعاب. سيكون المصدر 2 ، الذي أعلنته Valve مؤخرًا ، أول محرك ألعاب جديد يدعم Vulkan بالكامل ، على الرغم من أنني متأكد من أنه سيتم الإعلان عن المزيد في المستقبل القريب. تم عرض Dota 2 ، وهي لعبة معروفة بكثافة وحدة المعالجة المركزية ، في العروض في المصدر 2 مع واجهة برمجة تطبيقات Vulkan الجديدة باستخدام رسومات Intel المدمجة على وحدة المعالجة المركزية. هذا شيء لم يكن بالتأكيد مرغوبًا فيه في DirectX 11 ، لكن مع Vulkan بدا أن اللعبة حافظت على معدل إطارات معقول طوال الوقت. وذهب دان بيكر ، وهو مطور لألعاب أوكسيد ، إلى حد القول إنه "حتى يجتمع مصنعو GPU في عملهم معا ويجعلوا وحدات معالجة الرسومات أسرع بعشر مرات مما لدينا الآن ، لا يمكننا تجاوز وحدة المعالجة المركزية". هذه أخبار جيدة للأشخاص الذين يقومون بتشغيل وحدة المعالجة المركزية أبطأ أو الذين لديهم الكثير من حصانا GPU في الوقت الحالي لأنه يعني أن أداء أفضل بكثير يمكن تحقيقه على نفس مجموعة الأجهزة.

الشكل 4: رسم بياني يوضح فوائد فولكان (انخفاض عنق الزجاجة في وحدة معالجة الرسومات).
مصدر الصورة؛ الصورة الائتمان: Khronos

ماذا يعني هذا بالنسبة لمستقبل الألعاب؟

حسنًا ، منذ فترة طويلة ، تزداد قوة GPU بمعدل أسرع بكثير من طاقة وحدة المعالجة المركزية. قبل خمس سنوات ، ذكرت Intel أن بعض وحدات معالجة الرسومات كانت أسرع بـ 14 مرة من وحدة المعالجة المركزية الخاصة بهم. تم إجراء هذه الاختبارات باستخدام وحدة المعالجة المركزية Intel® GTX 280 مقابل وحدة المعالجة المركزية Intel i7 960 Intel - التي تعتبر الآن أجهزة قديمة نسبيًا. يجب أن تكون الفجوة بين nVidia GTX Titan X (أو حتى nVidia GTX 980) وقوة المعالج الحالية السائدة - وحدة المعالجة المركزية Intel i7-4790k - أكبر بكثير. النقطة التي أحاول توضيحها هي أننا بدأنا نرى المزيد والمزيد من الألعاب تصطدم بجدار في الأداء بسبب وحدة المعالجة المركزية. اسأل أي شخص لديه شاشة معدل تحديث عالية مدى صعوبة الحفاظ على 100 إطار في الثانية مع وحدة المعالجة المركزية الحالية في بعض الألعاب. بصراحة ، سيكون الأمر أكثر صعوبة فقط بدون واجهات برمجة التطبيقات الجديدة هذه ، وقدرتها على استخدام طاقة وحدة المعالجة المركزية بشكل أكثر كفاءة. قد تعني مقدمة واجهات برمجة التطبيقات الجديدة هذه خطوة كبيرة في الأداء بالنسبة لمعظم الأشخاص. علاوة على ذلك ، سيسمح للمطورين أيضًا ببناء المزيد من ألعاب وحدة المعالجة المركزية المكثفة أكثر مما لدينا الآن. على سبيل المثال ، تخيل لعبة مثل Assasins Creed التي تحتوي على الآلاف من NPC على الشاشة في وقت واحد ، وكلها تتفاعل مع بعضها البعض وشخصيتك أثناء تجوالك للمدينة. أو قد تحتاج ألعاب مثل Star Citizen ، حيث تحتاج إلى وحدة معالجة مركزية قوية جدًا للحصول على أي نوع من معدل الإطارات المستقر والمقبول ، في المستقبل القريب إلى وحدة معالجة مركزية متوسطة في أحسن الأحوال و GPU قوي للحفاظ على 60 إطارًا في الثانية ثابتًا.

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

رسومات جديدة api ومستقبل ألعاب الكمبيوتر