الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

سؤال حول الدالة Getadapterdisplaymode ()

بدأه 852147 في 7 أغسطس 2008 · 5 رد · 1,349 مشاهدة · في DirectX
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

المهم لدي سؤال حول الدالة GetAdapterDisplayMode ()

أعرف أن هذه الدالة مهمتها الحصول على نوع بطاقة العرض(d3dformat) وwidth & height

المهم

لدي استفسار d3dformat

اذا وجدت 32 يعني تستخدم d3dfmt_d32

صح ولا لاء

هل يوجد قيمة أكبر من 32

مثال

أنا لدي بطاقة عرض sis mirage 3 128 mb

ولكن لاتظهر في خصائص النظام قيمة أكبر من 32

يعني انني لن استطيع العمل بقيم أمبر مثل D3DFMT_A16B16G16R16F

ممكن مساعدة

وشكرا مجددا

#2

السلام عليكم

اخي الكريم الدالة المذكورة تتيح لك معرفة اعدادات العرض الحالية واشهر استخدام لها

عندما تريد انشاء تطبيق يكون في وضعية ال windowed فيجب ان يعمل بنفس اعدادات العرض الحالي المستخدم من قبل سطح المكتب لانه سيتشارك النوافذ الموجودة في هذا العرض

الدالة تعيد لك format المستخدام في سطح المكتب الحالي ضمن احد اعضاء البارامتر الثاني

وهو يصف كيفية تنظيم القيم اللونية لكل بيكسل عندك في الشاشة

فلو كنت تستخدم resolution = 32 bits per pixel

فهذا معناه ان كل بيكسل علي الشاشة يتم وصفه بـ 4 بايت

حيث حجم كل بايت 8 بت

ارجو ان اكون قد اجبت علي سؤالك

والسلام عليكم

Ahmed Ezz

Software Engineer

ezzelden.ahmed@yahoo.com

http://ahmedezz.110mb.com/

انما عمرك بأعمالك ، فكم تريد أن تعيش؟

#3

هل توجد قيم أكبر

أنا لدي بطاقة عرض sis mirage 3 128 mb

ولكن لاتظهر في خصائص النظام قيمة أكبر من 32

هل توجد قيم أكبر

أنا لدي بطاقة عرض sis mirage 3 128 mb

ولكن لاتظهر في خصائص النظام قيمة أكبر من 32

#4

السلام عليكم

اخي الكريم حتي لو اردت ان تستخدم d3d_format اكبر من ذلك فان هذه الدالة ليست المناسبة لتستخدمها

ومع ذلك فان ال SDK Doc

تحدد الاتي وهم فقط الذيم يمكن استخداهم كـ back buffer او display mode

D3DFormat

يعني لن يظهر لك ان تختار format غير هؤلاء المذكورين بالموقع مهما كان حجم ذاكرة ومواصفت كارت الشاشة لديك

وايضا ان كان كارت الشاشة 128 ميجا مثلا او اكبر فهذا لا يعني انه يمكنك استخدام format اكبر الا في الحالات الاخري مثل ال texture مثلا

يعني الخلاصة ان الزيادة في مواصفات كارت الشاشة انما تتيح لك استخدام surfaces مع تحديد d3d fromat اكبر بحسب ما يدعم كارت الشاشة لديك ولكن احذر فان اختيار format كبير قد لا يكون مدعوما في كروت الشاشة الاخري التي سيتم تشغيل برنامج عليها مما سيسبب

عدم القدرة علي تشغيل برنامجك علي اجهزة الاخرين الذين لا يمتكلون كارت بمواصفات عالية

وايضا من مساوئ ذلك انك تستخدم format كبير وقد لا تحتاج كل هذه الدقة لكل بيكسل

هناك موضوع اخر كنت قد ذكرت فيه ال format الصالحة فقط في كل حالة تريد فيها انشاء ال device

يمكنك مراجعتها

بالتوفيق ان شاء الله

والسلام عليكم

Ahmed Ezz

Software Engineer

ezzelden.ahmed@yahoo.com

http://ahmedezz.110mb.com/

انما عمرك بأعمالك ، فكم تريد أن تعيش؟

#5

اخي لا يوحد قيمة اكثر من 32 لان هذا اكبر قيمة و سعة للمسجل register الذي بكارت الشاشة

و 128 ميجا بايت تعني ذاكرة الbuffer في كارت الشاشة الذي يستعملها معالج كارت الشاشة في عملياته .

BEng , Electronics and communications.

Embedded systems engineer.

Graphics Programmer

عالم الكومبيوتر هو من لديه المعرفة في علوم الكومبيوتر ، الرياضيات ، هندسة الالكترونيات -احمد صالح

#6

شكرا

مواضيع مشابهة