بداية هذا الموضوع شديد الاهمية لهواة الالعاب والجرافيك ويهدف الي تعليم كل خصائص الجرافيك الخاص بالالعاب والاعدادات الخاصه بالجودة والاداء وايضا بعض اعدادات كروت الشاشة .
نبدأ بمشيئة الرحمن
في البدايه لم يكن يهمنا في اعدادات اللعبه سوي اعدادات صعوبة اللعبه واعدادات مستوي الصوت
ولكن مع تقدم الوقت ومع التقدم الرهيب في التكنولوجيا وتعدد مواصفات اجهزة الكمبيوتر واختلاف ادائها وجد مبرمجوا الالعاب انه يجب وضع العديد من المتغيرات في الالعاب كي يستطيعوا ان يلائموا الاداء مع الاجهزه المستخدمه عليها
ولكن طبعا لتستطيع ان تكسب المزيد من الاداء عليك التضحيه ببعض من مميزات الجوده
ولولا هذه الميزه ماكنا نستطيع ان نلعب هذه الكميه من الالعاب في الوقت الحالي لأن اللالعاب ستعمل وقتها علي ال Recommend System requirements
ولكن طبعا الاختيار عن غير درايه لا يفيد فلا تعرف ايهم يفيدك اكثر في الاداء الزياده او النقصان من المتغير وايهم يفضل الأستعانه به وايهم يترك كماهو
لذلك سنقوم سويا باستعراض معظم هذه الخواص باسلوب بسيط بعيد عن المصطلحات العمليه ليفيد الغرض ولتجعلنا جميعا محيطين بالمعلوما ت الاساسيه عن هذه المصطلحات
لنستطيع جميعا تظبيط اعدادات الالعاب لنصل بها لأفضل صوره مع افضل اداء ويضا معرفه الاخطاء التي تجعل الالعاب بطيئه أو لا تعمل جيد أو تسبب Crashes
لكن قبل ان نخوض في شرج هذه الاعدادات يجب علينا معرفة أولا كيف تقوم الللعبه من مجرد البدأ بضغط الماوس علي ايكونه تشغيل اللعبه لكي نستطيع ان نستوعب الفكرة افضل
لناخذ مثال تشغيل لعبة Oblivion
الخطوة الاولي : تشغيل اللعبه
بمجرد الضغط علي ايكونة تشغيل اللعبه فأنت تقوم بأرسال اشارة الي نظام التشغيل (الويندوز) ان يقوم بتفعيل هذا الملف ال exe أو (executable file) الذي يحتوي علي الاوامر الخاصه بتنفيذها في اللعبه فيقوم بتحميل الملفات الخاصة باللعبه أوتوماتيكيا
---------------------------------------------------------------------------------------------------
الخطوة الثانيه: تحميل الملفات علي الرامات
يقوم نظام التشغيل بعد ذلك بتحميل كل هذه الملفات التي تم تنفيذها عن طريق ملف التشغيل يقوم بتحميلها علي الراماات أو ال
(Ram-Random Access Memory)
ليتم نقلها الي البروسيسور ليقوم بعمل الحسابات السريعه المعقدة في زمن يقدر عن طريق سرعة البروسيسور نفسه
ويتم نقل الملفات أولا الي الرامات ثم الي البروسيسور نظرا لأن الرامات اسرع بكثيير من الهارد ديسك فييم تخزين الملفات علي الرامات في انتظار معالجتها وأيضا يتم تخزينها علي الذاكرة الخاصه بالبروسيسور نفسه L1 $ L2 Cache memory والتي تعتبر أيضا اسرع من الرامات
وإذا كانت الذاكره قليله فإن المعالج ينتهي من معالجة البيانات التي عليه ثم ينتظر المزيد من البيانات الاخري حتي ترفع الي الرامات أولا مما يسبب من نقص الاداء بشده
وذيادة الرامات تؤدي الي تنعيم وأستقرار الاداء ولا ننسي ان نظام التشغيل يشارك الالعاب في الرامات لذلك يجب علينا عدم تحميل العديد من الملفات علي نظام التشغيل عن طريق غلقها من ال Task Manager أو عن طريق الغائها من بداية تشيغل النظام من StartUp
وايضا مما يوضح اهمية سرعة الهارد ديسك لأنه المسئول عن تحميل الالعاب علي الرامات فكلما زادت سرعة الهارد كلما زاد الاداء
---------------------------------------------------------------------------------------------------
المرحلة الثالثة: معالجة البيانات في البروسيسور
ال CPU أو ال(Central Processing unit)من الاسم يتبين ان المعالج هو قلب الجهاز وله أهميه قصوي فكل البيانات تم من خلاله فهو يستقبل بيانات من جميع قطع الجهاز فيرسل ويوجه المعلومات الي مساراتها عن طريق مسارت Bus بال Mother board
فالمعالج يقرأ البيانات من الرامات ثم يرسلها اليه مرة اخري عن طريق
فعند تشغيل اللعبه البيانات لا تذهب من الهارد الي الرامات مباشرة الي م عالجتها بكارت الشاشه (Graphic Card-VGA) ولكن تذهب أولا ليتم معالجتها
فسرعة كارت الشاشه تتناسب مع سرعة البروسيسور
لذلك لوتوفر كارت شاشه ذو اداء علي مع بروسيسور ضعيف يظهر مايسمي بال bottleneck لأن البروسيسور لا يرسل البيانت بسرعه الي كارت الشاشه فيسبب توقف كارت الشاشه الي العمل في انتظار ان ترسل البيان اليه من البروسيسور
---------------------------------------------------------------------------------------------------
الخطوة الرابعه: معالجة البيانات قبل ارسالها الي كارت الجرافيك
يقوم الويندوز او ال OS بتوجيه البيانات التي تم معالجتها في البروسيسور الي كارت الشاشه عن طريق الخاص بالكارت الذي يستطيع ان يوجة البيانات بالطريقة المثلي
ولكل شركة تعريف مخصص يتم عمله بمعرفة الشركة المصنعة لكارت الشاشه واذا لم يتوافر تعريف يتم استخدام التعريف الاصلي الخاص بالويندوز والذي لا يعمل بكفائة تعرف الشركة طبعا
لذلك يجب دائما استخدام أخر تعريف متاح لكارت الشاشه لأنه يقوم بمعالجه وتلافي أخر الاخطاء والمشاكل في الالعاب
وعند تغير التعريف القديم بالجديد يجب مسح القديم تمام قبل تسطيب الجديد حتي لا تحدث اي مشاكل ويوجد برامج تسهل هذه العمليه
---------------------------------------------------------------------------------------------------
الخطوه الخامسه: نقل البيانات الي كارت الجرافيك
كما هو واضح من الصوره يتم اخذ الداتا التي تم معالجتها ويتم نقلها عن طريق ال M.B الي الPort AGP أو ال Port PCI-Ex باختلاف نوع ال motherboard
فكان قديما يستخدم ال AGP port ثم مع التطور تم استخدام ال Pci-Express وأهميه هذا ال port هو انه كلما زاده سرعته كلما زادت سرعة نقله للبيانات من والي كارت الجرافيك والبروسيسور
فبداية مع ال
Pci port كانت السرعه تصل الي 133MB/s
AGP 1x Up to 266MB/s
2,133MB/s AGP 8x Up to
PCI-E 16x فكان اسرهم حتي وصول ال Pci-Ex 2.0 وينقل بسرعة تصل الي 4,000MB/s
اما ال Pci-Ex 2.0 فيضاعف السرعه
لمزيد من المعلومات عن سرعات ال Bus المختلفه اتبع اللينك التاني
من هنا..سبحان الله---------------------------------------------------------------------------------------------------
الخطوة السادسه: تخزين البيانات علي رامات كارت الجرافيك
بالنظر الي الصورة السابقه نري ان كارت الشاشه عباره عن كمبيوتر مصغر
فبه كل محتويات جهاز الكمبيوتر تماما ويقوم بنفسه المهمه أيضا
فينري الدائرة الحمراء عبارة عن الرامات الخاصة بكارت الشاشه ويطلق عليها ال Video Ram أما الدائرة الصفراء فهي الGPU أو ال Graphic Processing Unit
تمام مثل ال Cpu والبوردة الخضراء ماهي الا ال PCB وهي تماما مثل ال mother Board فبعد ان تتم العمليات وتصل البيانات الي كارت الشاشه تبدأ نفس العمليات السابقه مره أخري ولكن بداخل الكارت نفسه
هيتم نقل البيانات التي تم معالجتا عن طريق البروسيسور الي ال رامات كارت الجرافيك ال VRAM والتي تعمل كوحده تخزين لنقل البيانات من والي ال GPU ثم الي شاشة العرض مباشرة
لذلك تعتبر قيمه ال VRam مهمة جدا فتجدها في الكروت الجديد والقويه دائما ماتكون كبيره
وحاليا اقل قيمه تعتبر جيده هي 512MB وعندما تكون قيمه هذه الرامات قليله فإن استخدام ال Resolution العالي مايكون صعب لأنه يسبب توقف ال GPU عن العمل منتظرا تحميل بيانات جديده الي ال VRam ليقوم بمعالجتها مما يسبب توقف اللعبه أيضا ولو للحظات ثم تعاود الكره
وللتغلب علي نقص الرامات يجب علينا تقليل ال Resolution وايضا تقليل جودة الصورة لأنه كلما زادت الجوده كلما زادت مساحة الملفات المرفوعه مما يجعل الرامات غير قادره علي تحميلها بسرعه مما يسبب ايضا حدوث التقطيع اثناء اللعب
(stuttering/hitching)
---------------------------------------------------------------------------------------------------
الخطوة السابعه: معالجة البيانات في ال GPU
بعدتخزين الداتا علي ال VRam يتم معالجه هذة الداتا بواسطة ال GPU في مراحل حسابيه معقده والتي يطلق عليها بال Graphics Pipeline
بال Pipeline أكثر من مره في كل مرحلة يتم تحويل البيانات ال 3D الي بيانات مرئيه ويمكن رؤيتها علي شاشه 2D
ونختصر هذه المراحل في الاتي :
Transformation-1
في هذه المرحله نبدأ بال vertex Data والتي تعتبر نقطه خاصه في مجال ثلاثي الابعاد او يطلق عليها a Special kind of Point وعند تجميع العديد من هذه النقط يتم عمل
Polygon
شكل ال wireframe image
ويتم تحويل هذه النقاط الثلاثيه الابعاد الي مركبات ثلاثية الابعاد ووضع كل هذه المركبات في محيط ثنائي الابعاد
Lighting-2
يتم في هذه المرحله وضع الاضاءه علي الاشكال المختلفه ويتم وضع الانعكااسات المخلفة للإضاه ولكننا مازلنا في مرحلة ان الاجسام عبارة عن نقط مجمعه سويه
Viewpoint-3
يتم تظبيط بعد الاشكال فالاشكال القريبه يجعلها كبيره والاشكال البعيده يجعلها صغيره
Clipping-4
في هذه المرحله يتم تظبيط مدي الرؤيه فالاشاياء التي لن تظهر في مدي الرؤية ال Field of view) FOV) يقوم بأخفائها حتي يوفر علي ال Gpu عمليات زائده
Triangle Setup-5
في هذه المرحله يقوم بالدمج النهائي للنقاط او ال Vertex سويا لتكوين الشكل النهائي لل 3D Object
Rasterization-6
يتم في ذه المرحله وضع كل Pixel في مكانه المناسب علي الشاشه ال 2D
: Culling-7
وهي مرحلة شبيه بال Clipping ولكنها تتم في الصورة النهائيه
Texture & Shading-8
وتعتبر المرحلة النهائيه لتجميع الصورة واضاففة التأثيرات النهاية عليها التي تعطي المظهر الواقعي للصورة ال 2D
وكل هذه العمليات تتم من خلال PipeLine واحد فقط
ولذلك كلما ذاد عدد ال PipeLine كلما ذادت سرعة عمل كل هذه المراحل بشده وذاد معها الاداء بشكل كبير .
---------------------------------------------------------------------------------------------------
الخطوة الثامنة:نقل البيانات الي ال Frame Buffer
الواضح من الاسم buffer انها عبارة ذاكره مؤقته موجود في منطقة ال VRam وتقوم بتخزين البيانات القادمة من ال GPU لعرضها علي الشاشه
ويتم تخزين اثنين Frame فقط في ال Frame Buffer فهو يتكون من
Primary (or 'front') buffer و Secondary (or 'back') buffer
وتتم العمليه كالتالي يتم ارسال 1Frame أو لقطه من الصوره علي ال Front Bufferليقوم بعرضها علي الشاشه بينما يعرض الأول يتم ارسال Frame اخر علي ال Back Buffer وعد انتهاء الاول تحدث عملية قلب لل Buffer فيبقي الامامي خلفي والخلفي امامي فيعرض الخلفي البيانات التي تم ارسالها عليه بينما يتم تجهيز الاخر
وهذه العمليه تخدم الاداء بشكل ملحوظ جدا
ولذلك يفضل عند استخدام خاصية ال Vsync استخدام ايضا خاصية ال Triple buffering لأن ال Vsync يقوم باستهلاك الاداء ولكن مع استخدام Triple buffering
يقوم بنعادلة الاداء لأنه يستخدم ثلاثه Frame Buffer ويقوم بالقلب مابينهم
---------------------------------------------------------------------------------------------------
الخطة التاسعة: ارسال الصورة الي الشاشه:
بعد الانتهاء من تجهيز الصوره تماما ويتبقي عرضها علي شاشة العرض ترسل البيانات ولكن ترسل رقميه اي تتكون من 0 و 1 والشاشه العادية أو ال CRT لا تقبل الإشارة الرقمية
لذلك يجب تحويل الي اشارة analog ويتم ذلك عن طريق ال
RAMDAC)-Random Access Memory Digital to Analog Converter)
ولكن في الشاشات ال LCD فهي تقبل الخرج الرقمي عن طريق مخرج كارت الشاشة ال DVI)-Digital Video Interface)
ومعظم الكروت التي توجد حاليا تكون دائما بمخرج DVI ويتم تركيب محول صغير عليها لتلائم كابل الشاشات ال CRT
ولكن طبعا دائما ماتكون صورة ال LCD أنقي من ال CRT لأنها تأخذ الخرج مباشرة ولا يتم دخوله في عمليات تحويل من Digital to Analog
بذلك نكون انتهينا من عرض مراحل تشغيل اللعبه