المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : ماهي مقاييس "مانع التعرج" في الالعاب والبرامج واختلافها بين NV &ATI ؟



EN.AhMeD
09-02-2010, 03:12
السلام عليكم ورحمة الله وبركاتة

في كثير من المواقع العالمية تجري اختبارات على لعبة مثلا باعدادات جودة نفسها على كروت انفيديا وكروت اي تي اي..
ولاحظت ان بعض الاعضاء يقارن خاصية مانع التعرج عند انفيديا بنصف مايقابلها من كروت اي تي اي..
مثلا الخيار موجود عند انفيديا 16X والخيار موجود عند ATI 8X
هل هذة المقاربة صحيحة؟ وهل تنطبق على كل الالعاب؟
ولماذا لا تملك ATI وضعية 16X في الالعاب؟
ولماذا مواقع الاختبارات لا تضع اختبارين للعبة الاول على وضعية 16من انفيديا و8من ATI؟

اريد توضيح من الخبراء وخصوصا استاذنا الخلف وحميديو..

HD5870X2
09-02-2010, 03:52
لمعرفة نوعيات موانع التعرج المختلفة بين الشركتين أقترح عليك قراءة المقالات التالية :


https://www.xbitlabs.com/articles/video/display/ati-radeon-hd4850_19.html

https://www.hardocp.com/article/2008/07/20/amds_ati_radeon_hd_4800_series_custom_filtering_aa/

https://www.hardocp.com/article/2009/09/22/amds_ati_radeon_hd_5870_video_card_review/6

وأفضل مقال تجده هنا :

https://www.computerbase.de/artikel/hardware/grafikkarten/2009/bericht_anti-aliasing_ati_nvidia/

ولكنه باللغة الألمانية للأسف

:)

EN.AhMeD
09-02-2010, 03:59
مشكور اخي مينا..
لو بالامكان شرح مبسط واكون من الشاكرين..

aziz-50
10-02-2010, 04:21
في الحقيقة ال AA والفرق بين nVIDIA و ATI يحتاج الكثير من الشرح وغالبا الإطاله تشتت الموضوع وبالتالي يجب أن نركز على أهم نقطه وتلخيصها حتى نفهم الفرق بشكل مبسط .

أهم نقطة يجب فهمها هي أن هنالك ثلاث مستويات للجوده في ال AA أو تنعيم الحواف :

1- مستوى الجوده الادنى (Coverage Sampling (CSAA
2- مستوى الجوده المتوسط (Mulit Sampling (MSAA
3-مستوى الجوده العالي (Super Sampling (SSAA

أنتهينا من هذه النقطة :).

عندما أصدرت nVIDIA نواة G80 جاءت بمستوى جديد من تنعيم الحواف (16x) , نواة G80 لم تكن بتلك القوة التي تمكنها من تشغيل الألعاب بجوده 16X MSAA , فأعتمدت على المستوى CSAA كمعيار لها .

أعتماد المستوى الأدنى CSAA أتاح عده خيارات لجوده ال AA في كروت nVIDIA ,

يعتمد مستوى الجوده في ال AA على ثلاثة قيم تحدد جودته :

1- Texture/Shader Samples
2- Stored Color/Z Samples
3-Coverage Samples

يعتمد ال CSAA و ال MSAA على قيمتين أساسيتين على مستوى ال pixel وهما : Stored Color/Z Samples و Coverage Samples حيث أن قيمة مدى التغطية أو ال (Coverage Samples) متساوية في كل من ال CSAA و ال MSAA والإختلاف الوحيد في قيم الون التي يتم تخزينها (Stored Color/Z Samples ) .

سنقوم بالتركيز على القيم 4x AA , 8X AA , 16X AA كونها الأكثر إستخدام في الألعاب.

قمت بعمل جدول بسيط يبين القيم التي يتم تخزينها على مستوى الجودات المختلفة AA , لل CSAA والتي أعتمدته nVIDIA كمعيار لها :


https://img716.imageshack.us/img716/1889/37079945.jpg

بعد إعتماد nVIDIA لجوده CSAA و مستوى 16X عند إصدار نواة G80 ظلت ATI على جوده MSAA ومستوى 8x في كروت HD3000 أحادية النواة .

مع صدور جيل HD4000 حسنت AMD من مستوى ال AA حيث تم إضافة المستوى 16x وتمت معالجة الإنخفاض الكبير في الأداء الذي كان يعتري فئة HD3000 عند تنعيم الحواف AA , و ظلت ATI على ال MSAA كمعيار للجوده .

هذا الجدول يبين القيم ل MSAA .


https://img268.imageshack.us/img268/7571/63114948.jpg

نلاحظ من كلا الجدولين الخاصين ب CSAA و MSAA مايلي :

كما أشرت سابقا قيم مدى التغطية أو ال (Coverage Samples) متساوية في كل من ال CSAA و ال MSAA والإختلاف الوحيد في قيم الون التي يتم تخزينها (Stored Color/Z Samples ) , كذلك الفرق بين المستوى الواحد في ال CSAA ال (Q(Quality و العادي .


https://img713.imageshack.us/img713/1381/52394800.jpg


قيم 4x في كل من CSAA و MSAA هي 4,4 وبالتالي مستوى الجوده متساوي بينهما .

قيمة 8xQ في CSAA و 8x في MSAA هي 8,8 وبالتالي مستوى الجوده متساوي بينهما .

قيمة 16xQ في CSAA هي 8,16 و 16x في MSAA هي 16,16 وبالتالي مستوى الجوده ل 16x في MSAA أعلى , و قيمة 16xQ في CSAA أعلى من 8x في MSAA .

* نقطة مهمة وهي قيم ال Texture/Shader Samples أو القيم باللون الأخضر ثابتة (1) في كل من CSAA و MSAA , هذه القيمة لايغيرها سوى مستوى الجوده (Super Sampling (SSAA حيث تحتوي كل من لوحة التحكم ل nVIDIA عن طريق الخيار Antialiasing - Transparency و ATI عن طريق الخيار Enable Adaptive Anti-Aliasing , الجدول التالي يبن قيم الجوده ل (Super Sampling (SSAA :


https://img46.imageshack.us/img46/1732/83546456.jpg


نلاحظ أن الفرق بين MSAA و SSAA هي قيم ال Texture/Shader Samples .


إذن في النهاية الفرق في القيم يحدد الجوده هذا ما أريد إيصاله ببساطه :) .

Jiraiya
10-02-2010, 04:33
ماشاء الله أخي عزيز شرح ممتاز يعطيك العافية

للأسف العم سمه سهران اليوم :D

يجب أن تضع للبعض سمعات قبل إعطائها إلى aziz-50 مرة أخرى.

Hameedo
10-02-2010, 12:30
أشكر الأخ عزيز علي معلوماته وجهده ، لكن سأضيف بعض النقاط للتبسيط :

1-لمعرفة فكرة عمل ممانع التعرج (تنعيم الحواف) ، يمكنك القراءة هنا (https://www.arabhardware.net/forum/showpost.php?p=1146105&postcount=34):

سوف نلاحظ أن عملية تنعيم الحواف هي ببساطة عملية ايجاد الوسط اللوني بين لونين .

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

عملية ايجاد الوسط اللوني بين لونين تسمي 2X ، وبين أربعة ألوان تسمي 4X ، وهذا يدفعنا للكلام عن أنواع ممانع التعرج.

2-النوع الأول هو Multi-Sampling ، أو العينات المتعددة ، والعينات Samples هنا يقصد بها الألوان ، وهو يعمل بالطريقة المشروحة في النقطة الأولي ، ومستوي 2X منه يأخذ عيّنتين (لونين) ،ومستوي 4X منه يأخذ 4 عيّنات (ألوان) .

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

لكن للأسف لا يقتصر حدوث التعرّج علي حواف الأجسام فقط ، وانما يحدث في داخلها أيضا ، وأفضل مثال علي ذلك هي الكساءات الشفافة Alpha Tetxures ، أي التي تظهر ما خلفها ، وتظهر التعرّجات في منتصف تلك الكساءات بالاضافة الي حوافّها .


https://img713.imageshack.us/img713/3899/aaadaawwn.jpg
هذا السور السلكي يتكون من كساء شفاف له نفس شكل السلك ، والي اليسار تجد تأثير ممانع التعرج متعدد العينات Multi-Sampling ، والنتيجة هي فشل واضح في معالجة التعرجات .

https://img713.imageshack.us/img713/3571/alphawi.jpg
صورة للكساء الشفاف قبل رسمه في اللعبة .

ونتيجة لذلك ، تم ابتكار نظام جديد لتنعيم الحواف ، واسمه Transparent Anti-Aliasing ، أو ممانع التعرج الشفاف ، وهو يقضي تماما علي المشكلة السابقة ، بتعديل بسيط في آليّة عمله ، فبدلا من أن تكون عيناته مجرد ألوان الحواف Polygon Color Samples ، سوف يأخذ عينات من ألوان الكساءات Texture Samples.

https://img713.imageshack.us/img713/2172/aaadaacopy.jpg
النتيجة النهائية هي أن السور يظهر بشكل سليم ، وبدون تعرجات .

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

في مصطلحات ATi ، يسمي هذا النوع باسم Adaptive Anti-Aliasing

3-النوع الثاني هو Coverage Sample Anti-Aliasing ، ويعني تغطية العينات ، أو دقة اختيار العينات ، والفكرة هنا أنه بدلا من تضييع الوقت في أخذ ثمانية عينات من الألوان عند مستوي 8X مثلا ، يقوم هذا النوع بأخذ ثمانية مواقع للألوان .

يجب أن نعرف أن الألوان قبل ارسالها الي الشاشة تسجل في خريطة معينة تسمي خريطة الألوان ، هذه الخريطة تحوي موقع كل لون ، ولون كل لون ! ، أي تحوي الموقع واللون الذي يحتلّه هذا الموقع .

في Multi-Sampling ، يتم أخذ العينات من كل لون وموقعه ، لكن في Coverage Sampling ، يتم أخذ الموقع فقط.

الفائدة هنا تتمثل في أن Cover Sampling ، سوف يحدد ما اذا كانت هذه المواقع تستحق أن تكون عيّنة أم لا ،فاذا كانت تستحق أخذ منها عينات الألوان ، واذا لم تكن تركها في حالها .

يعمل Coverage Sampling بالانحاد مع Multi-Sampling أيضا ، ففي مستوي 8X مثلا ، يتم أخذ أربعة عينات ألوان لـ Multi-Sampling ، ويتم أخذ ثمانية عنيات مواقع لـCoverage Sampling ليقوم بعمله عليها .

في مصطلحات ATi يسمي هذا النوع Custom Filtering Anti Aliasing ، وقد اضافت الشركة المزيد من التطويعات عليه تحت مسمي جديد يسمي Edge Detection ، أو الكشف عن الحواف ، يقوم هذا النوع بمقارنة الألوان ، وعندما يجد تباينا واضحا ، (مثلا لون أحمر مع أبيض) ، يقوم بتطبيق أقصي درجات ممانع التعرج للحصول علي أعلي جودة صورة ، وهو يعمل بالاتحاد مع Custom Filtering الذي يعمل بدوره بالاتحاد مع Multi-Sampling

4-النوع الثالث هو Super-Sampling ، أو العيّنات الفائقة ، وهو أعلي وأفضل أنواع ممانع التعرّج ، وفكرته ببساطة هي أن يتم رسم المشهد ثلاثي الأبعاد كله بدقة Resolution أعلي من الدقة الأصلية ، فعلي سبيل المثال ، اذا أردت تشغيل لعبة بدقة 1280x1024 ، ثم قمت بتشغيل ممانع التعرج ذو العينات الفائقة ، فان اللعبة سوف تعمل بدقة 1600x1200 داخل بطاقة الرسوميات ، ثم يتم أخذ الوسط اللوني لكل الألوان واعادة تسجيمها في دقة 1280x1024 ، مما يعني أن ممانع التعرّج لا يطبق فقط علي حواف الأجسام ، وانما يطبّق بداخلها أيضا ، ولهذا يعطي أفضل جودة صورة ممكنة ، ويصلح لكل المواقف ، لكنه يكلف أداء كبيرا ، بسبب كمية المعالجة المطلوب عملها .

Stokon
10-02-2010, 12:35
شكرا لكل من ساهم بالمعلومات المفيدة ديه (تم التقييم بس للأسف hameedo مش هينفع لأنه مش راضى )

Kh@LiL
10-02-2010, 15:26
أشكركم على التوضيح ولكن حسب ماقرأت في موقع https://www.hardocp.com فإن جودة الصورة في حال تطبيق 8X MSAA تكون أكبر من 8X CSAA وأحيانا تكون قريبة من 16X CSAA، فما رأيكم في هذا الكلام؟

Hameedo
10-02-2010, 15:33
أشكركم على التوضيح ولكن حسب ماقرأت في موقع https://www.hardocp.com فإن جودة الصورة في حال تطبيق 8X MSAA تكون أكبر من 8X CSAA وأحيانا تكون قريبة من 16X CSAA، فما رأيكم في هذا الكلام؟
هذا شئ طبيعي ، MSAA يأخذ ثمانية عيّنات من الألوان ، وثمانية مواقع ، لكن CSAA يأخذ أربعة عينات من الألوان وثمانية مواقع ، كفّة الدقة وجودة الصورة هنا تميل الي 8X MSAA ، لكن كفّة الأداء تميل ال 8X CSAA ، والفارق بينهما عموما صغير .

coolhero
10-02-2010, 15:54
شكرا اخوانى على المعلومات القيمة

GiANT
10-02-2010, 16:04
ياخبر ابيض :eek:
انا قرأت ربع الكلام الي في الاعلى و جاني صداع :ah26:
لأني ماكنت اعتقد ان تنعيم الحواف بهذا التعقيد :D
و لكم تقييم ياعزيز و حميدو

DoN OcTaViO
10-02-2010, 23:29
الموضوع كبير وانا بحاول افهم

Kh@LiL
11-02-2010, 00:25
هذا شئ طبيعي ، MSAA يأخذ ثمانية عيّنات من الألوان ، وثمانية مواقع ، لكن CSAA يأخذ أربعة عينات من الألوان وثمانية مواقع ، كفّة الدقة وجودة الصورة هنا تميل الي 8X MSAA ، لكن كفّة الأداء تميل ال 8X CSAA ، والفارق بينهما عموما صغير .
إذاً عند المقارنة بين كرتين من ATI,Nvidia وتطبيق 8XAA، هل هذه المقارنة عادلة؟ طالما أن 8X MAA تستهلك أكثر من طاقة الكرت وتعطي جودة صورة أعلى؟

Hameedo
11-02-2010, 01:34
إذاً عند المقارنة بين كرتين من ATI,Nvidia وتطبيق 8XAA، هل هذه المقارنة عادلة؟ طالما أن 8X MAA تستهلك أكثر من طاقة الكرت وتعطي جودة صورة أعلى؟
المقارنة عادلة بالطبع ، كلا من ATi و Nvidia يستخدم 8X MSAA بطريقة متشابهة ، وبنفس آلية العمل وبنفس جودة الصورة ، الاختلاف الوحيد بينهما هو أن ATi تمتلك أداء أفضل في 8X بسبب تطويعات معيّنة في معمارية وحدات الاخراج ROPs .

لا تصبح المقارنة عادلة اذا استخدم أحد الفريقين MSAA و الآخر CSAA ، أو Transparent AA ، بسبب الاختلاف في نوع الحسابات المطلوبة ، والاختلاف في جودة الصورة ، وهو ما لا يحدث في المراجعات ، حيث يتم التأكد من أن نوع ممانع التعرّج المستخدم متطابق لكلا الفريقين .

شلاع العتر
11-02-2010, 01:43
أحمد وعزيز تم التقييم ...
ولكن الاخ محمد لم أتمكن من تقيييمه ... على كل ... أشكر كل من ساهم في هذا الموضوع فلقد تبين لي بعض الحقائق التي لم اكن أعلم انها بهذا المستوى . ...:confused:

Kh@LiL
11-02-2010, 01:53
لا تصبح المقارنة عادلة اذا استخدم أحد الفريقين MSAA و الآخر CSAA ، أو Transparent AA ، بسبب الاختلاف في نوع الحسابات المطلوبة ، والاختلاف في جودة الصورة ، وهو ما لا يحدث في المراجعات ، حيث يتم التأكد من أن نوع ممانع التعرّج المستخدم متطابق لكلا الفريقين .

هذا ما أقصده حيث في لعبة DIRT 2 تدعم بطاقات انفيديا 2X, 4X, 8X, 8X CSAA, 16X CSAA, 8xQ CSAA, and 16xQ CSAA
وتدعم بطاقات ATI في تلك اللعبة 2X, 4X, 8X MSAA
وعند عمل اختبار لهذه اللعبة ولنفرض أنه تم تطبيق 8X AA هل تصبح تلك المقارنة عادلة؟ طالما أن MSAA تستهلك أكثر من طاقة الكرت لتعطي صورة أفضل؟

HD5870X2
11-02-2010, 02:24
هذا ما أقصده حيث في لعبة DIRT 2 تدعم بطاقات انفيديا 2X, 4X, 8X, 8X CSAA, 16X CSAA, 8xQ CSAA, and 16xQ CSAA
وتدعم بطاقات ATI في تلك اللعبة 2X, 4X, 8X MSAA
وعند عمل اختبار لهذه اللعبة ولنفرض أنه تم تطبيق 8X AA هل تصبح تلك المقارنة عادلة؟ طالما أن MSAA تستهلك أكثر من طاقة الكرت لتعطي صورة أفضل؟

لا يا عزيزي

Dirt2 بها أيضاً خيارات MSAA ولقد جربتها للتو مع 8800GT

ربما قام موقع HardOCP بتجربة اللعبة مع خيار CSAA ولكنه في نهاية المقال قام بإختبار MSAA أيضاً في ما يسمى ب Apples to Apples :)

Kh@LiL
11-02-2010, 02:33
لا يا عزيزي

Dirt2 بها أيضاً خيارات MSAA ولقد جربتها للتو مع 8800GT

ربما قام موقع HardOCP بتجربة اللعبة مع خيار CSAA ولكنه في نهاية المقال قام بإختبار MSAA أيضاً في ما يسمى ب Apples to Apples :)
هل تقصد أنه ضمن إعدادات اللعبة يوجد خيارات MSAA لبطاقات انفيديا؟ أم يتم التعديل من لوحة التحكم الخاصة بالتعريف؟

Jiraiya
11-02-2010, 02:37
هل تقصد أنه ضمن إعدادات اللعبة يوجد خيارات MSAA لبطاقات انفيديا؟ أم يتم التعديل من لوحة التحكم الخاصة بالتعريف؟

نعم موجود :)

https://i45.tinypic.com/18115t.jpg

HD5870X2
11-02-2010, 02:37
داخل اللعبة وجدت الخيارات كلها ولكني كنت قد ضبطت التعريف بحيث يستخدم Multi-Sampling بدلاً من Super-Sampling فلا أعرف ان كان لهذا دخل بالموضوع أم لا :)

Kh@LiL
11-02-2010, 02:42
^^
أشكركم على التوضيح :)

Jiraiya
11-02-2010, 02:45
داخل اللعبة وجدت الخيارات كلها ولكني كنت قد ضبطت التعريف بحيث يستخدم Multi-Sampling بدلاً من Super-Sampling فلا أعرف ان كان لهذا دخل بالموضوع أم لا :)

طبعاً لا جميع خيارات التنعيم موجوده داخل اللعبة بدون التعديل على NVIDIA Control Panel

EN.AhMeD
11-02-2010, 03:37
ماشاء الله اخوي عزيز...اتحفتنا بالمعلومات التفصيلية...الف شكر لك ولجميع الاخوة الذين شاركو بالموضوع..
لايسعني الا الافتخاز بالاستاذة الموجودين في المنتدي :)

aziz-50
12-02-2010, 05:16
هذا ما أقصده حيث في لعبة DIRT 2 تدعم بطاقات انفيديا 2X, 4X, 8X, 8X CSAA, 16X CSAA, 8xQ CSAA, and 16xQ CSAA
وتدعم بطاقات ATI في تلك اللعبة 2X, 4X, 8X MSAA
وعند عمل اختبار لهذه اللعبة ولنفرض أنه تم تطبيق 8X AA هل تصبح تلك المقارنة عادلة؟ طالما أن MSAA تستهلك أكثر من طاقة الكرت لتعطي صورة أفضل؟

الأمثلة التي أوردتها في مشاركتي السابقة تنطبق على لوحة التحكم عند تفعيل ال AA

أما الألعاب :

إذا أخذنا DIRT 2 كمثال :

بطاقات nVIDIA تدعم : 2x MSAA , 4x MSAA , 8x MSAA , 8x CSAA , 16x CSAA , 8xQ CSAA , 16xQ CSAA

بطاقات ATI تدعم : 2x MSAA , 4x MSAA , 8x MSAA

لا أعتقد أن أحد سوف يقارن كرت من ATI على 8x MSAA مع كرت من nVIDIA على 8x CSAA مثلا ويترك 8x MSAA .

هنالك ألعاب يتم توحيد معيار ال AA على MSAA و هنالك ألعاب أخرى لا يتم توحيد المعيار , فإذا كانت اللعبة لاتحتوي تفاصيل عند ال AA مثل :

2X
4X
8X

في هذه الحالة عند المقارنة على 8x يفضل التفعيل من لوحة التحكم للحصول على مقارنة عادلة وعدم حصول لبس في المقارنة , بحيث يتم تفعيل 8xQ من لوحة تحكم nVIDIA , مقابل تفعيل 8x من لوحة تحكم ATI .

قد يتبادر للذهن أن nVIDIA تغش في ال AA وخاصة على ال 16X ولماذا 16xQ CSAA وليس 16x MSAA ؟

الإجابة على هذا السؤال سهل ال Directx9 , Directx10 عند تفعيل ال AA فإن أقصى قيمة يدعمها لل AA هي :

8 لل Stored Color/Z Samples
16 لل Coverage Samples

وبالتالي عند تصميم أي لعبة تعتمد على ال AA لل Directx فإن أعلى قيمة لل AA هي 8,16 أي 16xQ CSAA وللحصول على قيم أعلى فإنه ينبغي على مبرمجي اللعبة الإعتماد على دعم ال AA خارج نطاق ال Directx (لوحة التحكم مثلا) , وإذا لم يتم ذلك فسنشاهد أعلى إعدادات هي 8x MSAA .

* إذن nVIDIA قامت بوضع 16xQ CSAA بهذه القيم لأنها أعلى قيم يدعمها ال Directx .

من ناحية برمجية بحته عند برمجة لعبة DIRT مثلا بال Directx9 فإن المتغيرات التي يتم تمريرها كالتالي :

2x MSAA= D3DMULTISAMPLE_2_SAMPLES, 0
4x MSAA= D3DMULTISAMPLE_4_SAMPLES, 0
8x MSAA= D3DMULTISAMPLE_8_SAMPLES, 0
8x CSAA= D3DMULTISAMPLE_4_SAMPLES, 2
8xQ CSAA= D3DMULTISAMPLE_8_SAMPLES, 0
16x CSAA= D3DMULTISAMPLE_4_SAMPLES, 4
16xQ CSAA= D3DMULTISAMPLE_8_SAMPLES, 2

ال CSAA موضحة في جدول على موقع nVIDIA على الرابط :

https://developer.nvidia.com/object/coverage-sampled-aa.html


https://img17.imageshack.us/img17/3349/99697363.jpg

كود ال AA في لعبة DIRT 2 على ال Directx9 يمكن محاكاته كالتالي :


https://img37.imageshack.us/img37/1685/11764744.jpg

آلية عمل هذا الكود :

إذا كان كرت الشاشة ATI :

2x MSAA
4x MSAA
8x MSAA

هل كرت الشاشة nVIDIA ? ----> لا ----> خروج .

--------------------------------------------------------------

إذا كان كرت الشاشة nVIDIA :

2x MSAA
4x MSAA
8x MSAA

هل كرت الشاشة nVIDIA ? ----> نعم ----> إكمال إضافة الخيارات.

8x CSAA
8xQ CSAA
16x CSAA
16xQ CSAA

هنالك العديد من الألعاب التي لاتضع الشرط الخاص بكروت nVIDIA و بالتالي فإن قيم ال AA تكون متساوية مع ATI .

----------------------------------------------------------------------------------------------

نلاحظ عند البرمجة بال Directx9 فإن قيم ال AA تحتاج للحفظ أكثر منها للفهم .

مع مجيء ال Directx10 حلت الإشكالية وأصبح إدخال قيم ال AA نفسه كما في الجدول :


https://img716.imageshack.us/img716/1889/37079945.jpg


https://img268.imageshack.us/img268/7571/63114948.jpg


وبالتالي أصبحت أكثر سهولة وفهم .


قيم ال CSAA موضحة في جدول على موقع nVIDIA على الرابط :


https://developer.nvidia.com/object/coverage-sampled-aa.html


https://img132.imageshack.us/img132/7168/84071218.jpg

قمت بتجربة بتجربة بسيطه للكود الخاص بال AA في ال Directx10 :


typedef struct DXGI_SAMPLE_DESC
{
UINT Count;
UINT Quality;
} DXGI_SAMPLE_DESC;

حيث تم تعريف تركيب جديد يحتوي Count وهو عبارة عن قيمة Stored Color/Z Samples و Quality وهو عبارة عن قيمة Coverage Samples .


typedef struct DXGI_SWAP_CHAIN_DESC
{
DXGI_MODE_DESC BufferDesc;
DXGI_SAMPLE_DESC SampleDesc;
DXGI_USAGE BufferUsage;
UINT BufferCount;
HWND OutputWindow;
BOOL Windowed;
DXGI_SWAP_EFFECT SwapEffect;
UINT Flags;
} DXGI_SWAP_CHAIN_DESC;


أستخدام التركيب DXGI_SAMPLE_DESC عن طريق SampleDesc


DXGI_SWAP_CHAIN_DESC sd;
ZeroMemory( &sd, sizeof( sd ) );
sd.BufferCount = 1;
sd.BufferDesc.Width = width;
sd.BufferDesc.Height = height;
sd.BufferDesc.Format = DXGI_FORMAT_R8G8B8A8_UNORM;
sd.BufferDesc.RefreshRate.Numerator = 60;
sd.BufferDesc.RefreshRate.Denominator = 1;
sd.BufferUsage = DXGI_USAGE_RENDER_TARGET_OUTPUT;
sd.OutputWindow = g_hWnd;
// Stored Color/Z Samples قيمة
sd.SampleDesc.Count = 1;
// Coverage Samples قيمة
sd.SampleDesc.Quality = 0;
sd.Windowed = TRUE;


https://img246.imageshack.us/img246/3474/19617521.jpg

هذه التجربه رغم بساطتها فقد وضحت الكثير من الأمور

1- أقل قيمة لل (sd.SampleDesc.Count (Stored Color/Z Samples هي 1 ولن يعمل البرنامج على القيمة 0
2- أعلى قيمة لل (sd.SampleDesc.Count (Stored Color/Z Samples هي 8 ولن يعمل البرنامج على قيمة أعلى .
3- (sd.SampleDesc.Count (Stored Color/Z Samples يقبل القيم 1,2,4,8 ولن يعمل البرنامج على الأعداد الفردية التي تتخللها .
4- أقل قيمة لل (sd.SampleDesc.Quality (Coverage Samples هي0 وأعلى قيمة 16 ويقبل الأعداد الفردية .
5- أعلى قيمة يمكن إدخالها لل AA هي 8,16 وهي القيمة الخاصة ب 16xQ CSAA .

هنالك سؤال يتبادر للذهن وهو : هل فرق الجوده بين 8x MSAA و 8x CSAA كبير ؟

أترك لكم الإجابة لكم بعد أخذ عينه وتكبيرها أي الصورتين بها تنعيم حواف أفضل وهل الفرق بينها كبير :) .



https://img138.imageshack.us/img138/6157/63546795.jpg