الأخبار التكنولوجية والاستعراضات والنصائح!

تتبع الأشعة في الألعاب VI: كيفية تسريع أشعة GPU

TL ؛ د: إن تتبع الشعاع في الوقت الفعلي في الألعاب يزداد سرعة ، ومن شبه المؤكد أن وحدات تحكم ألعاب Xbox Series X و PlayStation 5 الجديدة ستخترق. ولكن كيف تسرع وحدات معالجة الرسومات بالفعل في حساب الأشعة؟ نظرة ثاقبة على التكنولوجيا توفر المعلومات.

تتبع الشعاع في الوقت الحقيقي في الأجهزة

لقد مرت 13 عامًا منذ أن أبلغ المؤلف الضيف دانيال بول عن عمله البحثي في ​​هذا المجال في الجزء الأول من سلسلته "Raytracing in Games" ، والذي أعقبه أكثر من أربع سنوات على ComputerBase. كرسالة دبلوم ، قام بتنفيذ Quake 4 (و Quake III Arena سابقًا) في تتبع الأشعة وناقش مزايا وعيوب العرض مع تتبع الأشعة. في ذلك الوقت ، تم إجراء الحساب بواسطة وحدة المعالجة المركزية ، لأنه تم تنفيذ تتبع الأشعة "في البرنامج".

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

منذ نهاية عام 2018 وإطلاق بطاقات الرسومات Nvidia GeForce RTX ، انتهى الهدوء. لطالما تم وصف تتبع الأشعة بأنه الكأس المقدسة للرسومات. نظرًا لأن Nvidia Turing قد أتقنت التكنولوجيا "في الأجهزة" وتم استخدام ميزة raytracing في ألعاب الكمبيوتر تجاريًا للمرة الأولى ، فقد كان الموضوع موجودًا في كل مكان.

لا يوجد حاليًا سوى خمس ألعاب AAA تستخدم تأثيرات فردية محسوبة باستخدام تتبع الأشعة لتمكين عروض أكثر واقعية: Battlefield V و Shadow of the Tomb Raider و Metro: Exodus و Call of Duty: Modern Warfare و Control. مع Xbox Series X و PlayStation 5 استنادًا إلى بنية AMD RDNA2 ، سوف ينتقل الموضوع بلا شك إلى السرعة مرة أخرى في نهاية العام ويكون الاختراق مؤكدًا تقريبًا على المدى المتوسط. ما يكفي من الوقت لإلقاء نظرة حديثة على تنفيذ تتبع الأشعة في الألعاب.

جوهر البحث هو مقالة علمية من عام 2017: "نحو تتبع الأشعة في الوقت الحقيقي: مسح حول تسريع الأجهزة وتقنيات العمارة الدقيقة" من قبل باحثين من كوالكوم وجامعة تسينغهوا في الصين تم نشره في مجلة الحوسبة ACM الحوسبة وهو متاح مجانًا بتنسيق PDF على Github. في ذلك الوقت ، كان الباحثون على يقين من أن الأشعة في الأجهزة ستدخل السوق الشامل في غضون بضع سنوات – على الأقل لم يكونوا مخطئين في ذلك الوقت. هل سيكونون على حق في جوانب أخرى أيضًا؟

نتصور أن موجة من الجهود البحثية على أجهزة تتبع الأشعة سوف تزدهر في غضون بضع سنوات.

التنقيط هو المعيار حاليًا

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

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

تقديم أداة التنقيط الكلاسيكية (الصورة: جامعة تسينغهوا)

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

التنقيط سريع لأنه يبسط

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

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

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

كيف يعمل تتبع الأشعة؟

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

التقديم على أساس تتبع الشعاع العرض على أساس تتبع الأشعة (الصورة: جامعة تسينغهوا)

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

من الناتج النظري البالغ 1.1 مليار شعاع في الثانية (GigaRays / s) التي يمكن لـ GTX 1080 Ti التقليدية حسابها ، تبقى 300 مليون حزمة فقط محسوبة بالفعل بسبب الحمل الناجم عن الوصول إلى الذاكرة. بدون تسريع الأجهزة ، يكون من الصعب تنفيذ تتبع الشعاع على بطاقات الرسومات. يظهر معيار نيون نوير (https://www.computerbase.de/2019-11/crytek-neon-noir-community-benchmark/) الذي طوره Crytek أنه لا يزال ممكنًا. ومع ذلك ، ليس من المؤكد إلى أي مدى تم تحسين التأثيرات في هذا المعيار بشكل أفضل من خلال نفس حركة الكاميرا الثابتة مما هو ممكن في الألعاب الحقيقية.

تم تقديم الخوارزمية الأساسية لتتبع الأشعة بواسطة Turner Whitted في مؤتمر Siggraph في عام 1980. كما هو الحال مع التنقيط ، فإن نقطة البداية هي مشهد مقسم إلى مضلعات. تتكون الخوارزمية من حلقة ، والتي تعد في أفضل الحالات محسوبة من خلال جميع وحدات البكسل لمنظور الكاميرا وتنبعث منها شعاع أساسي واحد لكل منهما. مع دقة 4K و 60 FPS ، أي ما يقرب من 500 مليون شعاع أساسي في الثانية. للحصول على جودة صورة أعلى ، يمكن تشغيل العديد من الحزم الأولية لكل بكسل من مواضع مختلفة قليلاً. ثم تنطبق الخطوات التالية على كل حزمة أساسية:

  1. يتم تحديد المضلع الذي يصطدم بالحزمة لأول مرة.
  2. يتم التحقق مما إذا كانت البقعة في الظل بإطلاق شعاع ثانوي لكل مصدر ضوء.
  3. إذا كان السطح عاكسًا ، يتم إطلاق شعاع ثانوي مقابل.
  4. إذا كان السطح شفافًا ، يتم إطلاق شعاع ثانوي مكسور.
  5. بمجرد جمع جميع معلومات السطوع ، يتم تمريرها جنبًا إلى جنب مع لون المضلع للتظليل.

الخطوة الأولى هي تلك التي تسرع Nvidia باستخدام نوى RT الخاصة بها ، مع نقل المهمة من المعالج متعدد الدفق إلى نواة RT. يستغرق الأمر معظم الوقت في الحسابات التقليدية لأن التعقيد يزداد بشكل متناسب مع العدد المتزايد للأشعة والمضلعات. تولد الخطوات من 2 إلى 4 عدة حزم ثانوية ، مما يعني أنه حتى مع وجود شعاع أساسي واحد فقط لكل بكسل ، يمكن أن يصبح العديد من GigaRays / s من أداء تتبع الأشعة ضروريًا بسرعة. تعتبر الأشجار التي تحتوي على نسبة عالية من الأنسجة الشفافة مشهدًا صعبًا بشكل خاص ، كما هو موضح بوضوح في مقال سابق عن تتبع الأشعة. السؤال هو كيف يمكن تسريع العملية بكفاءة ودون فقدان الكثير من الجودة.

في Nvidia Turing ، تسيطر نوى RT على هيكل التسارع وتحديد الواجهة النوى RT تتولى هيكل التسارع وتحديد الواجهة في Nvidia Turing (الصورة: Nvidia)

في الصفحة التالية: تسريع تتبع الشعاع في الأجهزة