لماذا تنخفض الframes عند تشغيل V-Sync ؟
لاحظت عند تشغيل v-sync في بعض الالعاب ان عدد الframes يقل حتي عن 60 فريم حتي لو كانت اللعبة خفيفة جدا.
انا اعرف ان تشغيلها يقلل الفريمز الي 60 او الي قيمة refresh rate للشاشة .
يعني كمثال اشاهد ان الفريمز تقل الي 30 ثم تزيد الي 60 ثم تقل الي 30 مرة اخري فلماذا 30 بالذات ؟ ولماذا تقل عن 60 اساسا علي الرغم من انه من غير vsync احصل علي 90 و 100 فريم ؟
احترت جدا في السبب كيف امنعه ؟
رد: لماذا تنخفض الframes عند تشغيل V-Sync ؟
جرب تشغل معها triple bufering.......وأبلغنا بالنتيجة
رد: لماذا تنخفض الframes عند تشغيل V-Sync ؟
بعض الألعاب أخي مصممة لمنصات الألعاب مثل PS3 و XBOX360 و V-Sync سيكون 30 وهو معدل الاطارات في أجهزة التلفزيون لذلك ترى الألعاب التي تكون للمنصات أيضا يتم قفل V-Sync على 30 وهو اطارات التلفاز الطبيعية !
الألعاب المصممة لأجهزة الكمبيوتر تكون مصممة على غلق V-Sync على 60 وهو معدل الاطارات التي تستطيع الشاشة عرضه في الثانية الواحدة !
أتمنى ان اكون قد افدتك..
بالتوفيق.. :)
رد: لماذا تنخفض الframes عند تشغيل V-Sync ؟
v sync تقوم بتحديد عدد الفريمات الخارجه من الكارت علي حسب الهرتز اللي تقدر تعطيه الشاشه
اغلب الشاشه المتاحه الان 60 هرتز ( ده بيكون اقل هرتز للشاشه و هو هرتز الخطوط الافقيه بيبقي اقل من الخطوط الراسيه ) ( احيانا كتير خاصه في الشاشات العريضه )
بتعمل كده ليه لان لو عدد الفريمات في الثانيه الواحده زاد عن قدره الشاشه قول مثلا 60 تلاقي الشاشه مش ملاحقه علي الفريمات و عماله تقسم لان بيتم تركيب فريمه علي فريمه اخري او بمعني اصح اجزاء من الفريمات
اخر حاجه انت عينك اصلا اخرها 60 فريمه
فالزياده كده كده انت مش بتستخدمها
رد: لماذا تنخفض الframes عند تشغيل V-Sync ؟
ما يقصده الأخ Master هو أنه عند تفعيل المزامنة الطولية Vertical Sync ، فان عدد الاطارات ينخفض الي أقل من 60 اطار (معدل تحديث الشاشة ) ، ودائما ينخفض الي 30 اطارا أي نصف معدل التحديث ، وهذا يحدث في أي لعبة ، حتي لو كانت مُصممّة قلبا وقالبا للحاسوب .
الحقيقة هذه مشكلة سخيفة للغاية في تقنية المزامنة الطولية ، وسببها أكثر سخافة !
عند تفعيل هذه التقنية ، فان البطاقة الرسومية تُجبر نفسها علي التوافق مع كل دورة رأسية لرسم الشاشة ، حيث تبدا الشاشة رسم كل اطار من أعلي الي أسفل ، أي بطريقة راسية ، أو طولية .
في الشاشات التي تعمل بمعدل تحديث 60Hz ، فان كل دورة رأسية تستغرق 1/60 جزء من الثانية ، أي حوالي 16 مللي ثانية .
يجب علي البطاقة الرسوميّة معالجة كل اطار بحيث لا يزيد زمنه عن 1/60 جزء من الثانية (أو 16 مللي ثانية ) حتي ترسله الي الشاشة في ميعاد دورة الرسم القادمة .
في معظم الأحوال ، ومع البطاقات الرسومية القوية فان هذا لا يمثّل أي مشكلة ، والأغلب أن البطاقة تُنهي كل اطار في زمن أقل من 16 مللي ثانية ، لكنها تنتظر باقي هذه المدة حتي ترسل الاطار الي الشاشة في دورة الرسم القادمة ، لتتفادي التقطيع في الصورة Tearing والخطوط الموجية .
لكن للأسف تأتي بعض الاطارات بمؤثّرات قوية ، وهذه تزيد من العبأ الحسابي ، مما يزيد من زمن معالجة هذا الاطار الثقيل ، الي حد أن زمن المعالجة يتعدّي زمن 16 مللي ثانية ، ليصبح 20 مللي ثانية مثلا !
عندما يحدث هذا ، فان الاطار يفوته دورة رسم واحدة من دورات الشاشة ، حيث لا ترسله البطاقة الي الشاشة لأنه لم يكتمل ، ويضطر الاطار الي الانتظار حتي الدورة القادمة.. أي أن الاطار الأحمق انتظر دورتين كاملتين من دورات الشاشة !
اذا تكرر هذا الأمر مع ثلاثين اطارا في الثانية الواحدة (مثلا في مشهد انفجار كبير ، أو ضوء ساطع ) فان كل اطار منهم ينتظر دورتين من أصل 60 ! وهنا تحدّث الشاشة نفسها 30 مرة فقط ، وهذا يُسبب انخفاض عدد الاطارات الي النصف فورا !
الحل هنا يكون كما ذكر الزميل drhatooma ، بتفعيل ما يسمي بالمُعادلة الثلاثية Triple Buffer ، حيث تقوم البطاقة الرسومية بمعالجة اطار واحد مُقدما وتضعه علي دكّة الاحتياط ، ريثما تنتهي من معالجة اطار جديد ، وكل هذا بينما تقوم الشاشة برسم اطار سابق ، لتكون المحصلة النهائية لعدد الاطارات في لحظة واحدة هي ثلاثة اطار (وحد احتياطي ، وواحد تعالجه البطاقة وواحد ترسمه الشاشة بالفعل ) ، لهذا تسمّي المعادلة الثلاثية .
اذا أخذ أي اطار زمنا أكبر من 16 مللي ثانية في المعالجة ، فلن يحدث ذلك أي فارق ، فهناك دائما اطار احتياطي جاهز للارسال الي الشاشة في بداية كل دورة رسم .
يعيب هذه الطريقة استهلاكها العالي للذاكرة الرسومية ، حيث تعمل البطاقة علي اطارين (واحد احتياطي وآخر تتم معالجته ) .. لكن في الوقت الحالي فان معظم البطاقات الرسومية تحوي 512Mb من الذاكرة ، وأكثر من ذلك أيضا ، وهو حجم أكثر من كاف .
رد: لماذا تنخفض الframes عند تشغيل V-Sync ؟
في العاب ال 60 فريم لا يعطي سلاسه 100%....خصوصا الfps
لاحظت بcod4 ان السلاسه التامه تحصل عند 75 فريم(وانا العبها من ثلاث سنين)...والفرق كبير بين 60fps و 75
وتقدر تلاحض >>حط refresh rate 60hz مع v-synic ....وقوم بحركات سريعه ....بعدين حطه 75hz راح تلاحض فرق كبير
فما السبب في هذا؟؟؟...مو العين ما تلاحض اكثر من 60fps ... ام ان عداد الاطارات غير صحيح.. شي غريب بهاللعبه الصراحه
رد: لماذا تنخفض الframes عند تشغيل V-Sync ؟
اقتباس:
المشاركة الأصلية كتبت بواسطة ابو_شهاب
في العاب ال 60 فريم لا يعطي سلاسه 100%....خصوصا الfps
لاحظت بcod4 ان السلاسه التامه تحصل عند 75 فريم(وانا العبها من ثلاث سنين)...والفرق كبير بين 60fps و 75
وتقدر تلاحض >>حط refresh rate 60hz مع v-synic ....وقوم بحركات سريعه ....بعدين حطه 75hz راح تلاحض فرق كبير
فما السبب في هذا؟؟؟...مو العين ما تلاحض اكثر من 60fps ... ام ان عداد الاطارات غير صحيح.. شي غريب بهاللعبه الصراحه
ممكن يكون بتلعب أونلاين فمحتاج سرعة إستجابة مش سلاسة فريمات......يعنى محتاج إنك تزود ال senstivity تبع الماوس علشان تعرف تتحرك بسرعة وتلف أسرع
حاول تتأكد من الفريمات ببرنامج fraps
رد: لماذا تنخفض الframes عند تشغيل V-Sync ؟
اقتباس:
المشاركة الأصلية كتبت بواسطة ابو_شهاب
في العاب ال 60 فريم لا يعطي سلاسه 100%....خصوصا الfps
لاحظت بcod4 ان السلاسه التامه تحصل عند 75 فريم(وانا العبها من ثلاث سنين)...والفرق كبير بين 60fps و 75
وتقدر تلاحض >>حط refresh rate 60hz مع v-synic ....وقوم بحركات سريعه ....بعدين حطه 75hz راح تلاحض فرق كبير
فما السبب في هذا؟؟؟...مو العين ما تلاحض اكثر من 60fps ... ام ان عداد الاطارات غير صحيح.. شي غريب بهاللعبه الصراحه
العين تستطيع ملاحظة حتي 120 اطار ..
لكن طالما أن معدّل تحديث الشاشة هو 60 اطارا ، فحتّي لو أخرجت البطاقة 500 اطار ، فان ما ترسمه الشاشة لن يتعدي 60 اطارا أبدا .
اذن ما الفارق بين لعبة تعمل علي 60 اطارا مع خاصية V-Sync ، وبين نفس اللعبة ، ولكنها تعمل بـ120 اطار بدون V-Sync ، لكن الشاشة ترسم في النهاية 60 اطارا أيضا !
في الحالة الأولي ، سترسم الشاشة 60 اطارا كاملين دون أية عيوب .
في الحالة الثانية ، سترسم الشاشة 60 اطارا أيضا ،لكن كل اطار سيكون عبارة عن اطارين (واحد علوي وواحد سفلي ) ، وبمعني أدق فالشاشة سترسم اطارين في كل دورة تحديث !
كل اطار من هاذين الاطارين يحمل معلومات بصرية مختلفة عن الآخر ، فاذا كانت تلك مختلفة اختلاف كبيرا ، تحدث ظاهرة التقطيع Tearing في الصورة .
أما اذا كان الاختلاف بينهما صغيرا ، فلا يحدث ضرر ، ويمضي الأمر في سلام دون أن تلاحظ العين شيئا ، لكنها تحسّ بسلاسة أكبر في حركة الصورة ، بسبب أن الشاشة الآن تحمل مقدارا أكبر من المعلومات البصرية ( لأنها رسمت اطارين في مرة واحدة ) .
ليس هذا فقط ، لكن المخ البشري يشعُر باستجابة أسرع لأوامر اللاعب ، لأن المعلومات البصرية هي المؤشر الذي يقيس عليه المخ استجابة اللعبة ، وكلما زادت هذه المعلومات زادت سلاسة اللعبة من وجهة نظر المخّ !
رد: لماذا تنخفض الframes عند تشغيل V-Sync ؟
أتفق مع من يقول أن 60fps غير كافية
كم أفتقد أيام ال Radeon 9700pro عندما كانت لدي شاشة CRT بمقاس 17 بوصة ومعدل انعاش 85Hz فقد كانت تجربة اللعب قمة في السلاسة
أما مع 60Hz LCD وحتى ان كانت ثابتة طوال الوقت فإنني ما زلت أجدها قليلة
هل شاشات ال LCD بمعدل انعاش 120Hz ستكون مغلقة مع ال V-Sync على 120fps ؟
رد: لماذا تنخفض الframes عند تشغيل V-Sync ؟
اقتباس:
اذن ما الفارق بين لعبة تعمل علي 60 اطارا مع خاصية V-Sync ، وبين نفس اللعبة ، ولكنها تعمل بـ120 اطار بدون V-Sync ، لكن الشاشة ترسم في النهاية 60 اطارا أيضا !
اذا كانت الشاشة لن تعطيك أكثر من 60 أو حتى 85 اطار بالثانية فلماذا يزيد عدد الاطارات عن هذه الأرقام عند عدم تفعيل خاصية V-Sync مع استخدام برنامج Fraps أو غيره ؟؟
هل الـ هيرتز أو الدورة بالثانية = 1 اطار .. أم الحسبة مختلفة هنا ؟
رد: لماذا تنخفض الframes عند تشغيل V-Sync ؟
اتفق مع سؤال الأستاذ الأيوبى
كيف احصل على 70 و 200 إطار و الشاشه لا تعرض إللا 60 ؟؟؟؟؟؟؟؟
رد: لماذا تنخفض الframes عند تشغيل V-Sync ؟
اقتباس:
المشاركة الأصلية كتبت بواسطة alayoubi
اذا كانت الشاشة لن تعطيك أكثر من 60 أو حتى 85 اطار بالثانية فلماذا يزيد عدد الاطارات عن هذه الأرقام عند عدم تفعيل خاصية V-Sync مع استخدام برنامج Fraps أو غيره ؟؟
اقتباس:
المشاركة الأصلية كتبت بواسطة MF88
اتفق مع سؤال الأستاذ الأيوبى
كيف احصل على 70 و 200 إطار و الشاشه لا تعرض إللا 60 ؟؟؟؟؟؟؟؟
Fraps يقوم بعدّ الاطارات المخزّنة في ما يسمي باسم Frame Buffer (مخزن الاطارات)، وهو جزء من ذاكرة البطاقة الرسومية توضع فيه الاطارات التي انتهي معالجتها .
في الوضع الطبيعي ، وبدون V-Sync ، تبعث البطاقة الرسومية بكل الاطارات الموجودة في الـFrame Buffer الي الشاشة ، لكن الشاشة ترسم 60 اطارا فقط علي الرغم ذلك .. قد ترسُم اطارا كاملا في كل دورة تحديث ، وقد ترسم اطارين نصفيين (واحد علوي وآخر سفلي ) ، وقد ترسم ثلاثة اطارات ناقصة في الدورة الواحدة (علوي ووسطي ووسفلي) ، لكن طالما أن معدل تحديثها هو 60Hz فقط ، فانها لن ترسم الا 60 صورة مهما حدث .
سبب ظاهرة الاطارات الناقصة هو أن الشاشة تكون مشغولة برسم اطار معين (وليكن اطارا أحمرا) ووصلت في رسمه الي المنتصف ، لكنها تفاجئ بأن البطاقة الرسومية أرسلت اليها اطارا جديدا بمعلومات جديدة (وليكن اطارا أزرقا ) فتكمل الشاشة رسم الاطار الأزرق من المنتصف الي أسفل .
في بعض الأحوال تكون الاطارات النصفية أو الناقصة مختلفة عن بعضها بشكل واضح (مثل الأحمر والأزرق)، وهنا تحدث ظاهرة التقطيع و الخطوط الموجيّة .
في أحوال أخري لا تكون تلك الاطارات مختلفة بدرجة واضحة (مثل الأبيض والرمادي الفاتح جدا) ، لذا لا تلاحظ العين شيئا .
تفعيل V-Sync يجُبر البطاقة الرسومية علي معالجة 60 اطارا فقط وتخزينهم في الـ Frame Buffer ، ليتوافقوا مع معدلّ 60 دورة لتحديث الشاشة ، وحتي لو احتوي مخزن الاطارات علي أكثر من 60 اطارا ، فان البطاقة تبعث 60 فقط الي الشاشة ، وهنا ترسم الشاشة اطارات كاملة ، وتتفادي مشكلة التقطيع Tearing ، لأنها تتسلم في كل دورة رسم اطارا واحد فقط .
لكن الشاشة تواجه مشكلة أخري و هي انخفاض الاطارات الي 30 ، وهي المشكلة التي سأل عنها الأخ Master ، وسببها أن الاطار الواحد قد يستغرق وقتا أطول في المعالجة بحيث يأخذ زمن دورتين بدلا من دورة واحدة .
حل المشكلة يكون بتفعيل المعادلة الثلاثية Triple Buffering ، وهنا يحتوي مخزن الاطارات أيضا علي أكثر من 60 اطارا (اطارات احتياطية)، لكن البطاقة تنتقي منهم 60 ، وترسلهم للشاشة ، وفي حالة زيادة زمن معالجة أي اطار ، يحلّ محلّه اطار احتياطي الي الشاشة علي الفور ، وبذلك لا تنخفض الاطارات الي 30 .
اقتباس:
هل الـ هيرتز أو الدورة بالثانية = 1 اطار .. أم الحسبة مختلفة هنا ؟
الهرتز هنا يساوي دورة واحدة من دورات رسم الصورة علي الشاشة ، أي يساوي صورة واحدة ، أو اطار واحد بالفعل .
اقتباس:
المشاركة الأصلية كتبت بواسطة HD5870X2
هل شاشات ال LCD بمعدل انعاش 120Hz ستكون مغلقة مع ال V-Sync على 120fps ؟
نعم ، ويمكن للمستخدم تحديد أي معدل تحديث يرغب فيه مع V-Sync .
في الواقع شاشات 120Hz تقدّم مُتعة بصرية لا شك فيها في وضعية سطح المكتب 2D ، وهذا ما تفق عليه كل من جربها .
رد: لماذا تنخفض الframes عند تشغيل V-Sync ؟
للأسف لا توجد شاشات 120Hz بدقة 1920x1080 حالياً :( (أتحدث عن شاشات الكمبيوتر لا عن التليفزيونات)
رد: لماذا تنخفض الframes عند تشغيل V-Sync ؟
اقتباس:
المشاركة الأصلية كتبت بواسطة HD5870X2
للأسف لا توجد شاشات 120Hz بدقة 1920x1080 حالياً :( (أتحدث عن شاشات الكمبيوتر لا عن التليفزيونات)
يوجد
بس بالطلب من كايرو كمبيوتر علي ما اعتقد
( 3d vision )
رد: لماذا تنخفض الframes عند تشغيل V-Sync ؟
اقتباس:
نعم ، ويمكن للمستخدم تحديد أي معدل تحديث يرغب فيه مع V-Sync .
في الواقع شاشات 120Hz تقدّم مُتعة بصرية لا شك فيها في وضعية سطح المكتب 2D ، وهذا ما تفق عليه كل من جربها .
اعتقد ان التحديث لشاشات بتلك التقنيه اصبح واجب لمن يريد متعه مشاهده فعلاً