مكتبة DirectX ، العبأ الذي لم يعد يطيقه أحد !


ففي حين سعت Intel الي خلق نوع من الامتداد الثانوي خارج المكتبة ، سعت AMD الي قصف المكتبة بالمدفعية الثقيلة !

ففي نهاية عام 2013 ، أعلنت AMD أنها ستصمم مكتبة جديدة باسم Mantle، لتكون بمثابة المنصة التي تعمل عليها الألعاب ، والمكتبة ستكون حصرية فقط لعتاد بطاقات AMD من فئة HD 7000 و R 200 وما يتلوهم من فئات في المستقبل.

Mantle

بدأت AMD القصف بتأكيد أن مكتبة Direct X بها من القيود والمشكلات ما يعوق تقدم ألعاب الحاسوب علي مثيلاتها من ألعاب المنصات، والتي بطبيعتها لا تستخدم المكتبة ، وتعتمد علي التواصل المباشر مع العتاد دون الحاجة لمنصات ومكتبات وسيطة.

وترصد AMD قصور مكتبة Direct X من عدة جوانب ، وأولها الذاكرة الرسومية، والتي تعاني من صعوبة الوصول البها وادارتها  وتضخم متطلباتها تحت تحكم مكتبة Direct X ، بسبب الحاجة الي التواصل مع مستويات منطقية كثيرة ، من نظام التشغيل Operating System و مكتبة Direct X و ملقن القيادة Driver ، اضافة الي اعتبارات الأمان والجودة التي يفرضها نظام التشغيل ومكتبة Direct X علي أي تطبيق منطقي Software Application .وكل ذلك يؤدي الي تأخير الوصول الي الذاكرة ، كما تمنع المكتبة اعادة استخدام بعض بيانات الذاكرة ، مما يجبر المطورين علي تكرار نفس البيانات مما يرفع من استهلاك الذاكرة بشكل عام.

هناك أيضا جانب تركيب نماذج الاضاءة والتظليل  Shader Compilation، والتي تستغرق وقتا أطول تحت ادارة مكتبة  Direct X، مما يتسبب في اطالة أزمان تحميل مستويات الألعاب Loading Times ، وقد تتسبب في بعض التقطعات Stutters أثناء اللعب.

لكن أهم الجوانب التي ركزت عليه AMD كان جانب أوامر الرسم Draw Calls ، والتي تنشأ منها الأجسام ثلاثية الأبعاد.

ومشكلة أوامر الرسم  أنها محدودة للغاية علي الحاسب الشخصي ومكتبة Direct X فهي تستهلك الشئ الكثير من المعالج المركزي .. علي العكس من المنصات حيث تكون متوافرة بكثرة علي الرغم من استهلاكها لنفس النسبة  .

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

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

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

ومع تطور المعالجات المركزية واتجاهها الي تعدد الأنوية ، حاول المطورون زيادة عدد أوامر الرسم لتستغل أكثر من نواة ، لكن قابلتهم عثرة في مكتبة Direct X تمنعهم من هذا بشكل مطلق! العثرة هي أن المكتبة تفرض تزامنا معينا في وصول واستبقال الأوامر أيا كانت ، واستخدام أكثر من نواة في ارسال اوامر الرسم يخل تماما بالتزامن المطلوب .. وهي حقيقة يعرفها المطورون جيدا ، فالمعالجة متعددة المسارات للبيانات تحوي قدرا من التأخير Latency متاصل فيها .

واصبحت المشكلة مركبة ، فمن ناحية يتم مراعاة المعالجات الدنيا وتقليل اوامر الرسم من اجلها ، ومن ناحية اخري لا يمكن استغلال الانوية المتعددة بسبب مشكلات المزامنة الناتجة عنها !

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

CPU-GPU

الي جانب ذلك فان مكتبة Direct X تأكل الكثير من وقت المعالج المركزي في أداء أعمال تنظيمية واجرائية ، مما يضيع جزءا من قوة المعالج المركزي كان بالامكان استغلاله في أداء أعمال أخري رسومية أو حوسبية.

بل أن المكتبة تقيد استغلال كل موارد المعالج الرسومي نفسه وليس فقط المركزي ، فمكتبة Direct X لا تتيح استغلال المعالج الرسومي لأداء عمليات رسومية و حوسبية معا الا الي درجة محدودة .

الصفحة السابقة 1 2 3الصفحة التالية

محمد عبد الحميد

محمد عبد الحميد .. 25 سنة ..
زر الذهاب إلى الأعلى