الشبكة العربية لمطوري الألعاب

خبير  Hisham Kayali مشاركة 1

سلام عليكم☺
لدي سؤال.. قد يكون مملا و لكن عليكم أن تتحملوني☺
ما هو الدور العلمي لهذه الاشياء في كرت الشاشة؟
في الواقع انا لا ابحث عن الترجمة و لكن ا ريد ان اعرف ما درو كل منها بالضبط☺ لو سمحتم



انظر الصورة في المرفقات و شكرا سلفا ^.^

من المزعج أن تعرف إن دساتير البعد بين نقطتين التي طالما كرهتها هي أساسية في شيء تحبه جدا و هو تحريك الألعاب

مبتدئ  إياد الجوابرة مشاركة 2

rec@very_97b69dfالسلام عليكم
ماذا تقصد بالقيمة العلمية؟
إن السؤال عن مثل هذه المواصفات بالدقة لا أظنه يهم سوى مطوري بطاقات الإظهار وهواة اقتناء الأجهزة خارقة الأداء.
بداية إذا كنت تريد أن تقتني بطاقة إظهار فعليك أولا تحديد الهدف من ذلك كي لا تقع ضحية السعر الباهظ لبطاقات الاظهار.
بالنسبة لي فإني أعمل حاليا على جهاز hp بمعالج core i 7 وبطاقة إظهار ATI radeon 6770m وهو إلى الآن يقوم بتشغيل جميع الألعاب الحديثة (التي قمت بتجريبها مثل Assassin Creed 2 و Dirt 3 و BF) كما أني أقوم بالتصميم باستخدام برنامج 3Ds Max وأستخدم كلا من Unity 3D و UDK بمشاهد نصل إلى ملايين المثلثات وأقوم بتفعيل الظلال والمؤثرات ولا أعاني من اية مشاكل.
لن أطيل في التسويق لجهازي☺
ولنقم بعرض سريع للمزايا:
pixel fill rate وهو عدد البكسلات التي تستطيع البطاقة رسمه على الـ frame buffer في الثانية الواحدة وهو في حالة المثال 11.2 مليار بكسل بالثانية
Texture fill rate وهو عدد التكسلات (وهي البكسلات من صورة النقش ) التي تستطيع البطاقة نقلها من ذاكرة الفيديو إلى السطح المطلوب إكساؤه
GDDR3 وهو نوع الذاكرة المستخدمة، وهو جيل جديد مبتكر من ATI يحظى بميزات عن الجيل DDR2 قم بزيارة صفحة ويكيبيديا للحصول على وصف كامل
Bandwidth وهي سرعة نقل المعطيات خلال الدارة الداخلية للبطاقة
Memory size هو حجم الذاكرة المستقلة في البطاقة
GPU Clock تردد معالج البطاقة (قد يسمى سرعة المعالج)
وخانة Memory هي التردد الأقصى لتبادل المعطيات في الذاكرة

قد لا يكون الإيجاز السابق هو ما تبغي ولكن دعني أفيدك بشيء:
عمليا إن المعطيات السابقة ليس لها دلالة دقيقة. في الحقيقة إن ما يهمك هو أداء بطاقة الإظهار كوحدة متكاملة 
ولذلك عليك إما سؤال المواقع التي تقوم بتقييمات ومقارنات مع بطاقات أخرى، وهذه المواقع تستخدم تقييم 
وندوز وبرامج تقييم مثل 3D mark ، أو عليك أن تقوم بتجريب برامج التقييم بنفسك. من أفضل وأسهلها تعاملا هذه المواقع هو http://www.notebookcheck.net/أما 
بالنسبة للخصائص الدقيقة لبطاقة الإظهار فإن من أفضل المواقع التي تعطيك شرح تفصيلي هو http://www.gpureview.com/ وهو أيضا يقوم بمقارنة بطاقتين بشكل واضح.

أعتذر عن الاطالة
أرجو أن تكون إجابتي مفيدة
بالتوفيق

مبتدئ  حسام زكريا مشاركة 3

السلام عليكم ورحمة الله وبركاته

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


Shaders 800 Unified :

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

على ما أظن هو عدد الباراميترات الممررة إلى الـ shader والرقم هو بالمثال
800 float4 ويمكن الاستفادة منها من أجل تمرير مصفوفات العظام على سبيل
المثال من أجل رسم شخصيات تملك skeleton وحساب مواضع الرؤوس ضمن الـ vertex
shader ، العدد الكبير لهذه الخاصية تتيح إرسال عدد أكبر من المصفوفات إلى
الـ shader مما قد يتيح لنا رسم عدد كبير من الشخصيات دفعة واحدة أو عدد
كبير من الأشجار أو الأعشاب أو الكواكب أو عدد كبير من الـ particles ....
الخ


Bus Width 256 bit :

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

أظن أن شرح أستاذنا السيد إياد صحيح، ولكن من الناحية العملية وناحية الإستخدام البرمجي أظن أن لهذه الخاصية معنى حساس

ضمن هذا المثال 256 بت تعني هنا أننا نستطيع الرسم على Render Target يكون
البكسل الواحد فيها 256 بت أي 64 بت لكل من قناة الـ R والـ G والـ B والـ A
(الأحمر والأخضر والأزرق والألفا) أي برمجياً كل من R و G و B و A هو
double للحصول على دقة كبيرة للفاصلة العائمة من أجل إستخدامها لعمل
تأثيرات جميلة مثل الـ HDR

على ما أظن الـ Unreal Engine (نسخة الـ UDK) يستخدم 64 بت من أجل الـ HDR أي float16 من أجل كل قناة لونية

Husam Zakaria
Game Programmer

خبير  Hisham Kayali مشاركة 4

شكرا جزيلا استاذ اياد ة استاذ حسام.. و مشكورة جهودكما
في الواقع كلام الاستاذ حسام هو ما ابحث عنه
انا فعليا اريد ان اعرف دور هذه الاشياء في عملية رسم الجرافيك☺

و شكرا لكما على وقتكمااااااا

من المزعج أن تعرف إن دساتير البعد بين نقطتين التي طالما كرهتها هي أساسية في شيء تحبه جدا و هو تحريك الألعاب

خبير  سلوان الهلالي مشاركة 5

السلام عليكم،



حسام زكريا: محاولة جيدة! كان يمكنك ان تتأكد اولاً من الاجابات التي طرحتها بعملية بحث سريعة في جوجل لكي تتجنب الخطأ بشكل اكبر وقد تتعلم اشياء جديدة من خلال المعلومات التي ستقرأها! 😏


Shader 800 Unified:


اولاً، ما تكلم عنه حسام فكرة صحيحة وموجودة فعلياً لكنه يتعلق بما يسمى ثوابت المظللات Shader Constants، ويرتبط بنوع بطاقة الرسوميات لكنه لا يؤثر على الاداء بشكل مباشر، فقط الامكانيات، وهنالك عدد اصغر قياسي مضمون من الثوابت لكل جيل من المظللات ولكن ستجد استثناءات خاصة في الاجيال الاولى. (هنالك 5 اجيال حتى الآن)


ماذا تعني Shader 800 Unified إذاً؟
المعالجات الرسومية اليوم تحتوي على وحدة معالجة متخصصة تختلف في طريقة عملها عن المعالج الاعتيادي (CPU)، يسمى هذا النوع من المعالجات بمعالجات الدفق Stream Processors حيث يحتوي على عدد كبير من المعالجات الصغيرة التي يمكن ان تعمل جميعاً بالتوازي لمعالجة كم هائل من البيانات كل ثانية. 
الرقم 800 يرمز الى عدد المعالجات الصغيرة المتوفرة في المعالج الرسومي الموجود في بطاقة الرسوميات ATI 4850 المسمى RV770 كما ترى (نفس البطاقة التي لدي بالمناسبة 😄 )، تصوّر ان بطاقة الشاشة لديك تمتلك 800 معالج يعمل كل واحد منها بسرعة 700 ميغاهرتز!
لكن هذه المعالجات كما قلت ليست كالمعالج الرئيسي، حيث يقتصر عملها على تلقي دفق من البيانات العددية تقوم بمعالجته حسب برامج محدودة نسبياً يمكنك تحميلها للمعالج الرسومي برمجياً (وهي البرامج التي تسمى بالمظللات Shaders اليوم) ثم اخراج دفق من البيانات العددية الناتجة من الحسابات.
في البداية ايام Shader Model 2/Direct3D9 كان هنالك نوعان مختلفان من معالجات الدفق لكل منهما محدودياته وتعليماته البرمجية الخاصة، واحد مختص لمعالجة مظللات الرؤوس Vertex Pipeline والآخر لمعالجة البكسلات Pixel Pipeline، ببساطة يتم تنفيذ برنامج المظلل على كل رأس ترسله لبطاقة الشاشة عبر Vertex Pipeline وكل نقطة سترسم للشاشة عبر Pixel Pipeline.
ولكن ذلك خلق بعض المشاكل العملية خاصة موازنة الحمل على كل نوع من المعالجات بالنسبة للمشاهد المطلوبة.


كمثال انظر لوصف المعالجات الرسومية لبطاقة من الاجيال القديمة:



لاحظ "8 Pixel / 6 Vertex" والتي تعني 8 معالجات للرؤوس و 6 للبكسلات، مرة اخرى تذكر ان لديك 800 لكي تدرك كم تغيرت الامور !!


اما بالنسبة للأجيال الجديدة من المظللات، فهنا تأتي كلمة "Unified" التي لاحظتها.. حيث تم تصميم تلك المعالجات لتكون جميعاً متماثلة ويمكن لأي منها ان تقوم بمعالجة الرؤوس او البكسلات او اي من الانواع الجديدة من المظللات حسب ما تدعمهه بطاقتك (Geometry/Hull/Domain) او حتى استخدامها كمعالجات حسابية فقط لا علاقة لها بالرسوميات! وهنا تدخل تقنيات مثل CUDA, OpenCL, Direct Compute الخ.. وهذه الميزة سمحت باستخدام بطاقات العرض كوحدات معالجة عددية ذات قدرة هائلة (خاصة للاعداد الحقيقية ذات الدقة المضاعفة) لدرجة ان ثاني اقوى الكومبيوترات الخارقة في العالم الآن (Tianhe-1A, in Tianjin, China) مبني باستخدام بطاقات NVIDIA Tesla والتي تستخدم نفس معالجات بطاقة الرسوميات.


هنالك ملاحظة اخيرة اود الاشارة لها، المعالجات التي تضعها AMD/ATI في بطاقاتها تختلف عن تلك التي تضعها NVIDIA.  والفروقات تعتبر من الاسرار التصنيعية لكل منهما، انظر هذا النقاش المفصّل حول هذا الموضوع: http://forums.anandtech.com/showthread.php?t=2053507


هذا المجال ممتع فعلاً للبحث فيه 😏


Bus Width 256 bit:


عرض الباص الداخلي المستخدم للربط بين ذاكرة البطاقة والمعالج الرسومي، وهو يؤثر على سرعة نقل البيانات الداخلية حيث ان معدل نقل البيانات الداخلي (Bandwidth) هو Bus Width * Memory Frequency (تقريباً).

ليست هنالك علاقة مباشرة بين عرض الباص وانواع الإكساءات المدعومة من قبل البطاقة الرسومية حيث ان ذلك يعتمد على المعالج الرسومي نفسه وكذلك الـ driver... لكن بالتأكيد باص اكبر يعني سرعة اكبر في نقل البيانات والتي تتألف معظمها من الإكساءات المحملة داخل الذاكرة الرسومية. 😏

خبير  Hisham Kayali مشاركة 6

مشكووووووووووووووووووووووووووور جدا استاذ سلوان ^,^الآن فمهنا شيئان باقي بقية الاشياء☺
يا سلااااااااااااااااااااااااام  كرت شاشتي مممتااز فهو نفسه لدى الاستاذ سلوان☺

من المزعج أن تعرف إن دساتير البعد بين نقطتين التي طالما كرهتها هي أساسية في شيء تحبه جدا و هو تحريك الألعاب

مبتدئ  حسام زكريا مشاركة 7

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

Husam Zakaria
Game Programmer

خبير  سلوان الهلالي مشاركة 8

Hisham Kayali: اسعدني ان اقدم المساعدة 😄
بالنسبة لبقية الاشياء، فالمعلومات التي ذكرها إياد الجوابرة كافية ودقيقة، وهي مواصفات تقنية داخلية ليس لها اي تأثير مباشر على الجانب العملي من البرمجة الرسومية فقط على أداء البطاقة.
من المواصفات التي يعرضها GPU-Z الشيء الوحيد المرتبط فعلياً بالبرمجة هو DirectX Support والذي يبين الاصدارة الاحدث المدعومة من Direct3D و من جيل المظللات الذي تستطيع البطاقة تشغيله، من خلاله تتحدد معظم إمكانات بطاقة العرض الاخرى من الناحية الرسومية.



حسام: ههههههههههه  مخططاتك انفضحت 😏