المسرع الرسومي

أنت في قسم : بطاقة الفيديو


المسرع الرسومي

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

هذا منظر ثلاثي الأبعاد من برنامج final reality الخاص بقياس سرعة أداء البطاقات الرسومية ويظهر فيه:صورة ثلاثية الأبعاد

  1. جسم ثلاثي الأبعاد مكسو بصورة وهو ما يسمى texture mapping ، ويمكن أن تكون صورة أو مجرد زخرفة أو ما شابه.(أنظر بالأسفل تحت عنوان " أوامر الرسومات الثلاثية الأبعاد")

  2. جسم ثلاثي الأبعاد بدون texture mapping .

  3. الرسم الثلاثي الأبعاد يعطي بعد يبدو كأنه واقعي.

  4. مثال آخر لاستخدام الـ texture mapping .

الآن أنظر لنفس الصورة ولكن هذه المرة مأخوذة ببطاقة 3dfx voodoo 3 المتطورة لا بد أنك لاحظت الفرق الشاسع ، فالجزء الذي كان يظهر أنه جسم بدون texture mapping ظهر أنه عبارة عن جسم شفاف وكذلك الأرضية أصبحت شفافة في الصورة الثانية أما ما كان يبدو أنه أرجل للجسم الذي في منتصف الغرفة فما هو إلا إضاءة لأرضية الغرفة هل رأيت كم تؤثر إمكانيات بطاقة العرض في الصورة المعروضة.

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

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

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

لاحظ أن حساب سرعة الرسم بعدد المثلثات في الثانية لهو مقياس نظري لحد ما لأن الأجسام عادة ما يوجد عليها بعض الرسومات أو الألوان التي تحتاج لوقت إضافي لرسمها .

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

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

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

أوامر الرسومات

قلنا قبل قليل أن دور المعالج هو "إصدار أوامره للمسرع الرسومي" فما هي هذه الأوامر؟

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

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

أولاً : أوامر الرسومات الثنائية الأبعاد:

ثانياً : أوامر الرسومات الثلاثية الأبعاد (في الحقيقة هي تقنيات وليست أوامر) :

الخطوة الأولى : المعالج الرسومي يكتب للقسم الثاني من الذاكرة العشوائية بينما القسم الأول يستعمل للقراءة من قبل المحول الرقمي التناظري DAC

الخطوة الثانية : يستعمل القسم الثاني الآن كذاكرة للقراءة من قبل المحول الرقمي التناظري بينما يكتب المعالج الرسومي للقسم الأول وتستمر الحلقة

إجراءات واجهة البرمجة API :

حتى يستطيع البرنامج الاستفادة من قدرات المسرعات الرسومية لا بد أن يكون قادراً على التفاهم معه ، وحتى يتفاهم معه لابد من أن يفهم كلا الطرفين (البرنامج والمسرع الرسومي) نفس "اللغة" ، ويتوفر لدينا عدد من اللغات في هذا العالم وهي :