تخيل تشغيل مشهد رسومي يحتوي على مليارات المثلثات مع تقليل ذاكرة الـBVH المطلوبة من 80 جيجابايت إلى 1.7 جيجابايت فقط، هذا بالضبط ما تستعرضه AMD من خلال تقنية جديدة تحمل اسم Tetrahedral Cages.
كشفت AMD عن تقنية جديدة تحمل اسم Tetrahedral Cages يمكن أن تساعد مطوري الألعاب على التعامل مع كميات ضخمة من الهندسة ثلاثية الأبعاد المتحركة أثناء استخدام Ray Tracing، مع تقليل كبير في استهلاك ذاكرة بطاقة الرسوميات والوقت اللازم لتحديث هياكل تتبع الأشعة.
وأظهرت تجربة AMD مشهداً يحتوي على نحو 25 ألف نبتة متحركة بشكل مستقل، وبإجمالي يصل إلى حوالي 2.8 مليار مثلث عند أعلى مستوى من التفاصيل، بينما تم تتبع نحو 500 مليون مثلث متحرك في كل إطار بعد تطبيق مستويات التفاصيل، مع الحفاظ على أكثر من 60 إطاراً في الثانية بدقة 1080p باستخدام بطاقة Radeon RX 9070 XT.
ما هي تقنية Tetrahedral Cages من AMD

تعتمد الفكرة على تغيير الطريقة التي تتعامل بها محركات الألعاب مع الأجسام ثلاثية الأبعاد المتحركة أثناء تتبع الأشعة، فبدلاً من تحريك جميع نقاط المجسم التفصيلي وتحديث هياكل البيانات الخاصة به في كل إطار، يتم وضع المجسم داخل قفص أصغر مكوّن من رباعيات السطوح أو Tetrahedra، ثم تحريك هذا القفص فقط.
وبهذه الطريقة تظل الهندسة التفصيلية للمجسم وهياكل BVH الخاصة بها ثابتة وقابلة لإعادة الاستخدام، بينما يتم التعامل أثناء التشغيل مع عدد أصغر بكثير من النقاط التي تمثل القفص، وتوضح AMD أن تكلفة الحركة تصبح مرتبطة بتعقيد القفص بدلاً من عدد المثلثات الموجودة في المجسم الكامل.
من 80 جيجابايت إلى 1.7 جيجابايت فقط
الفرق الأكبر الذي عرضته AMD يظهر عند مقارنة استهلاك ذاكرة BVH وتكلفة تحديث هياكل تتبع الأشعة، ففي المشهد التجريبي نفسه، احتاجت طريقة Tetrahedral Cages إلى حوالي 1.7 جيجابايت من ذاكرة BVH، مع زمن يقارب 3.3 مللي ثانية لتحديث جميع هياكل BVH في كل إطار.
أما عند استخدام الطريقة التقليدية لبناء هياكل تتبع الأشعة الخاصة بالمثلثات الكثيفة للأجسام المتحركة بشكل مستقل، فقد تصل متطلبات ذاكرة BVH إلى 80 جيجابايت، بينما يتجاوز وقت تحديث هياكل BVH 300 مللي ثانية لكل إطار في الاختبار نفسه على بطاقة Radeon RX 9070 XT.
وهذا يعني أن تقنية AMD خفضت استهلاك ذاكرة BVH في هذا السيناريو التجريبي من 80 جيجابايت إلى حوالي 1.7 جيجابايت، أي انخفاض يقارب 98%، إلى جانب تقليل كبير في وقت تحديث هياكل تتبع الأشعة.
كيف تتعامل Tetrahedral Cages مع 2.8 مليار مثلث

قد يبدو رقم 2.8 مليار مثلث ضخماً للغاية بالنسبة لمشهد لعبة، لكن الرقم لا يعني أن البطاقة تقوم بتحديث جميع هذه المثلثات في كل إطار، توضح AMD أن المشهد التجريبي يحتوي على حوالي 2.8 مليار مثلث عند أعلى مستوى من التفاصيل، وبعد اختيار مستوى التفاصيل المناسب يتم تتبع حوالي 500 مليون مثلث متحرك لكل إطار.
وتأتي أهمية تقنية Tetrahedral Cages من أن هذه الهندسة الضخمة لا تحتاج إلى إعادة بناء هياكل BVH الكثيفة بالكامل مع كل حركة، وبدلاً من ذلك يتم تحريك القفص رباعي السطوح، بينما تبقى البيانات التفصيلية الثابتة قابلة لإعادة الاستخدام، وهو ما يقلل تكلفة التعامل مع المشاهد التي تحتوي على أعداد كبيرة من العناصر المتحركة.
25 ألف نبتة تتحرك بشكل مستقل
استخدمت AMD في العرض التجريبي حوالي 25 ألف نبتة متحركة بشكل مستقل، وهذا النوع من المشاهد يمثل تحدياً كبيراً لتقنيات الرسوميات، خصوصاً عندما يحتاج كل جسم إلى حركة مختلفة بدلاً من تحريك جميع العناصر بالطريقة نفسها.
وتوضح AMD أن أحد الأمثلة على ذلك هو محاكاة الرياح، حيث يمكن لكل نبتة أن تستجيب لاتجاه مختلف للرياح في موقعها، لذلك لا يكفي تحريك المشهد بالكامل ككتلة واحدة، بل يجب التعامل مع عدد كبير من الأجسام التي تتغير حركتها بشكل مستقل.
هل ستغير Tetrahedral Cages ألعاب الكمبيوتر
تفتح التقنية الباب أمام التعامل مع مشاهد أكثر تعقيداً في ألعاب الكمبيوتر التي تعتمد على Ray Tracing، خصوصاً عندما تحتوي على أعداد كبيرة من العناصر المتحركة مثل النباتات والعشب والحشود والمخلوقات.
لكن من المهم توضيح أن Tetrahedral Cages ليست ميزة متاحة تلقائياً في الألعاب الحالية، وإنما تقنية بحثية يمكن للمطورين دمجها في محركات وتقنيات الرسوميات.
كما أن التقنية ليست مناسبة لكل أنواع الحركة؛ فهي تقلل مستوى التحكم في حركة كل رأس من رؤوس المجسم مقارنة بالحلول التقليدية، ولذلك ترى AMD أنها مناسبة للعديد من أنواع الرسوميات المتحركة، بينما تظل الطرق التقليدية مفيدة عندما يحتاج المطور إلى التحكم الكامل والدقيق في كل جزء من المجسم.
AMD تمهد لرسوميات أكثر تعقيداً
تُظهر Tetrahedral Cages اتجاهاً مهماً في تطوير الرسوميات الحديثة، فالمشكلة لم تعد مرتبطة فقط بقدرة بطاقة الرسوميات على معالجة عدد كبير من المثلثات، بل بكيفية تحديث هذه البيانات بكفاءة عندما تتحرك آلاف الأجسام في الوقت نفسه.
وتقول AMD إن التقنية يمكن دمجها مع Microsoft DirectX Raytracing، كما توفر الشركة بحثاً تقنياً ونماذج برمجية تساعد المطورين على دراسة استخدامها في مشاهد الرسوميات المتحركة.
وإذا تم تبني هذا الأسلوب على نطاق أوسع، فقد يساعد المطورين مستقبلاً على بناء مشاهد أكثر كثافة وتعقيداً دون الزيادة نفسها في تكلفة الذاكرة وتحديثات تتبع الأشعة.
وفي النهاية تقدم AMD من خلال Tetrahedral Cages طريقة مختلفة للتعامل مع الهندسة المتحركة في Ray Tracing، حيث يتم تحريك القفص منخفض التعقيد بدلاً من إعادة تحديث المجسم التفصيلي بالكامل.
وفي تجربة الشركة ساعد هذا الأسلوب على التعامل مع مشهد يضم حوالي 2.8 مليار مثلث، مع خفض ذاكرة BVH المطلوبة من نحو 80 جيجابايت إلى 1.7 جيجابايت في السيناريو المقارن، إلى جانب تقليل زمن تحديث BVH بشكل كبير.
وتبقى هذه الأرقام مرتبطة بتجربة AMD المحددة، وليست ضماناً بأن كل لعبة ستوفر هذا المستوى من التحسن، لكن التقنية تقدم للمطورين أسلوباً جديداً لتوسيع نطاق الرسوميات المتحركة وتتبع الأشعة في المشاهد شديدة التعقيد.
المصدر: AMD GPUOpen