Screen Tearing مشكلة و حلول
Screen Tearingهو احد عيوب الفيديو التي تحدث غالباً في الألعاب و تكون نتيجة عدم تزامن معدل الإطارات المنتجة من كرت الشاشة في الثانية مع معدل الإنعاش الرأسي للشاشة فيتم عرض أكثر من إطار على الشاشة في نفس اللحظة ويحدث تداخل بين الاطارات المختلفة الأزمنة و المعروضة على الشاشة
لتبسيط التعريف السابق او لتطبيقة عملياً نفرض ان لدينا جهاز كمبيوتر قوي مجهز بكرت شاشة حديث و يقوم بتشغيل لعبة قديمة بعض الشيء أي ان معدل الإطارات في الثانية FPS سيكون في حدود 200 FPS و لنفترض ان الكمبيوتر موصول بشاشة LCD معدل إنعاشها الرأسي 60 هيرتز في الدقيقة و هذا هو الغالب في الشاشات الموجودة الان
في هذة الحالة الافتراضية السابقة قطعياً سيحدث Screen tearing و سيكون بقدر كبير اي انه احيانأ نرى ثلاث او اربع كوادر في المشهد الواحد او ربما اكثر وغالبة ما يظهر Screen tearing بشكل واضح في الحركة الأفقية للكاميره او حركة التقرييب و الابتعاد ZOOMING
يحدث تقطيع الشاشة متى توفرت أسبابة على اي شاشة سواء كانت LCD او CRT .كما لا يقتصر حدوثة على العاب الكمبيوتر اذا قد يحدث في العاب الكونسول ايضاَ.
هذة بعض الصور لتوضيح هذة المشكلة
يتم الكشف عن وجود هذة المشكلة بالمراقبة البصرية في الغالب حيث يشتكي من وجودها مستخدم الكمبيوتر عند تشغيلة للألعاب و لكن لتسهيل موضوع تحديد المشكلة و تفرقتها عن اي مشاكل اخره قامت شركة انفيديا بتوفير برنامج صغير يقوم باكتشاف المشكلة و إعطاء العدد الدقيق للإطارات المعروضة على الشاشة عن طريق خط ملون يظهر على يسار شاشة الألعاب و يعبر عدد الألوان عن عدد الإطارات المعروضة على الشاشة في نفس الوقت هي نفس فكرة عمل برنامج فرابس
يسمى هذا البرنامج الصغير Nvidia Overlay Software
في الصورة التالية نشاهد ثلاث اطارات معروضة و ممثلة بالالوان الرصاصي و و الوردي و الاصفر
في الصورة التالية نشاهد اطارين معروضين و ممثلين بالالوان الاخضر و السمائي
طرق علاج تقطيع الشاشة
يمكن علاج هذة المشكلة بعدة طرق تتراوح بين استخدام شاشات بمعدل انعاش رأسي عالي الى استخدام تقنيات و برامج اخرى معقدة للقضاء على هذة المشكلة و لكن لكل طريقة حسنات و عيوب
1-الذاكرة الوسيطة الثلاثية Triple Buffering
عندما يقوم المعالج الرسومي بمعالجة البيانات الرسومية و تكوين صورة الاطار يقوم بتخزينها في ما يسمي بذاكرة الإطارات الوسيطة frame buffer تمهيداً لارسالها الى الشاشة و في الاحوال العادية يوجد اثنين من هذة المخازن الوسيطة :
Primary (or 'front') buffer و هو الذي يقوم بارسال الصورة الى الشاشة في اي وقت
Secondary (or 'back') buffer و هو الذي يتلقى الصورة المكونة من المعالج الرسومي في اي وقت
هذا ما يسمي الذاكرة الوسيطة المزدوجة double buffering
زيادة ذاكرة وسيطة ثالثة تعطي المعالج الرسومي مساحة اكبر لتخزين عدد اكبر من الاطارات الامر الذي يحد من عملية التمزق.
تفعيل Triple Buffering يستلزم ان تدعم الالعاب هذة الخاصية كما يمكن تفعيلها في الالعاب التي تدعم OpenGL فقط من لوحة تحكم انفيديا و لكن مشكلة Triple Buffering انها لا تدعم الديركت اكس ولكن يمكن التغلب على هذة المشكلة ببرنامج صغير يسمى Direct3D Overrider
هذا البرنامج يمكننا من تخطي الديركت اكس و تشغيل مع كافة الالعاب
2-تفعيل التزامن الرأسي Vertical Synchronization
و تسمى للتسهيل VSync .. تفعيل هذة الخاصية يأمر المعالج الرسومي بتزامن عملة مع معدل الانعاش الرأسي لشاشة العرض اي انه يقوم بارسال الاطار الى الشاشة في حال طلبها منه فقط غير ذلك هو في حالة كمون و توقف لحظي عن العمل
هذة الخاصية يمكن تفعيلها من داخل اللعبة نفسها او من لوحة تحكم كرت الشاشة غير ان تفعيل هذة الخاصية مع انه يقوم بمعالجة مشكلة التقطيع نهائية الا انها تؤثر تأثير سلبي على اداء كرت الشاشة في اللعبة فمعدل الاطارات لن يتعدي 60 اطار في الثانية بل بالعكس ينخفض في كثير من الاحيان الى 30 او 20 اطار في الثانية الامر الذي له اكبر الاثر على سلاسة و نعومة اللعبة
و لعلاج هذة العيوب لتفعيل خاصية VSync قامت انفيديا بتقديم خاصية جديدة من خلال لوحة التحكم الخاصة بها تسمى
NVIDIA Adaptive VSync
و قد خرجت هذة الخاصية للوجود مع اصدار انفيديا لتعريفاتها بداء من الاصدار R300
و في هذة الخاصية يتم التفعيل اذا تعدت الاطارات 60 اطار في الثانية و يتم ايقاف تشغيلها عند نزول معدل الاطارات عن 60 و بذلك يكون تأثيرها على الاداء طفيف جداً و لا تؤثر على سلاسة و نعومة اللعبة مع علاجها لمشكلة التقطيع
3- تغير معدل الانعاش الرأسي للشاشات
و يعتبر هذا حل جزري حيث ان العديد من الشاشات الحديثة و خاصة الداعمة للعروض ثلاثية الابعاد ناتي بمعدل انعاش رأسي 120 هرتز او اكثر مما يقلل جدياً من احتمالية ظهورتقطع الشاشة و خاصة مع الالعاب الحديثة و ظهور الشاشات ذات الدقة الفائقة و تعدد الشاشات الامرالذي يتطلب قوة خارقة من المعالج الرسومي فمن المستبعد تجاوز معدل الاطارات ل 120 اطار في الثانية في اللعبة
و في النهاية اتمنى ان ينال هذا الجهد المتواضع رضاكم و امال منكم تصويبي ان اخطأت و اثراء الموضوع بردودكم القيمةمسك الختام الصلاة على خير الانام
سيدنا محمد صلى الله علية و سلم
المصادر :
المفضلات