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

سوالي عن GDI+ في لغات DotNet

بدأه air-man001 في 17 أغسطس 2010 · 5 رد · 879 مشاهدة · في قسم برمجة الألعاب و الرسوميات العام
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم أخوتي في الله

مبارك عليكم الشهر الكريم ...

كما هو موضح في العنوان ... هل دوال الرسم التي في GDI و تحديدا في لغات الدوت نت

... تتم معالجتها في CPU أم في GPU ??

#2

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

رمضان مبارك...

يعتمد على نسخة الوندوز ربما! كما قرأت هنا

وهذا إقتباسات من نفس الرابط:

اقتباس

Video memory: For our purposes, memory accessible by the GPU. For details, please see the “Graphics Memory Reporting through WDDM” whitepaper (http://www.microsoft.com/whdc/device/display/graphicsmemory.mspx).

Hardware acceleration: The process of performing computations on the GPU instead of the CPU.

GDI: Graphics Device Interface – a 2D rendering API.

Surface: A chunk of memory representing a 2D array of pixels.

Present (verb): A function used to request that the contents of a backbuffer be displayed on screen. E.g. In DXGI, IDXGISwapChain::Present.

GPU acceleration: Also known as hardware acceleration. This means performing work on the Graphics Processing Unit (GPU) instead of on the Central Processing Unit (CPU). When the GPU can be used, it is typically much faster than the CPU, hence the term “acceleration”.

وهنا حول الموضوع إن شاء الله

اقتباس

Taking advantage of GPU acceleration:

In XP GDI is GPU accelerated to various degrees depending on how the OS is configured or the device driver (for details see Hooking Versus Punting: http://msdn.microsoft.com/en-us/library/ms799743.aspx). In Vista, GDI is not GPU accelerated however the performance difference is usually not perceptible by the user. In Windows 7, some limited GPU acceleration for GDI was added to enable some video memory optimizations. Direct3D and WPF are GPU accelerated on all 3 OS’s. Direct2D is GPU accelerated too, but it is currently available on Windows 7 only. Microsoft has announced that it will releasing Direct2D on Windows Vista, and it will be GPU accelerated there too.

The Desktop Window Manager uses GPU acceleration, so apps on Windows Vista and Windows 7 benefit automatically. For example, when you drag a window in XP the app receives a request to redraw the window. In Windows Vista and Windows 7, the DWM maintains a copy of the window contents in graphics memory, so the app doesn’t need to redraw the window.

بالتوفيق

[وسط]

♥ Countess ♥

57899411.gif

♥

[/وسط]

#3

شكرا لك رغد

في الحقيقة لم أفهم جيدا

يعني لو أعمل نسختين من برنامجي وحده اشغلها على xp

والأخرى اشغلها على windows 7 ...

هل الأولى ستستخدم GPU و الأخرى ستستخدم CPU ؟؟؟؟

#4
air-man001 كتب:

شكرا لك رغد

في الحقيقة لم أفهم جيدا

يعني لو أعمل نسختين من برنامجي وحده اشغلها على xp

والأخرى اشغلها على windows 7 ...

هل الأولى ستستخدم GPU و الأخرى ستستخدم CPU ؟؟؟؟

آسفة أخي ليست من عادتي أن أنقل معلومة باللغة الإنجليزية بهذه الطريقة!

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

لأن الترجمة صعبة علي شوي (مصطلحات دقيقة لا افهمها حرفياً وإنما بالمفهوم ولا استطيع نقلها إلى العربية)...

,,.,.,.,.,.,..

بخصوص سؤالك لا أعلم لأنني لم اعمل مع GDI بالمرة مجرد كانت اطلاعات بسيطة...ولكن كما يبدو أنه ليس هناك إجابة واحدة على سؤالك الكريم في الموضوع الأصلي بـ نعم أو لأ!

ومسألة اختلافات النُظم إختلافات جذرية فهذا صائب وتختلف التطبيقات فيهن وربما تتعارض الكثير من التطبيقات بين نُظم التشغيل حتى لو كانت من نفس الشركة مايكروسوفت في هذا المثال...

فمثلاً لاحظ التغير لـ GDI في وندوز 7:

اقتباس

GDI rendering in Windows 7

The chief disadvantage of the windows vista driver model was that every GDI window must be backed by both a video memory surface and a system memory surface. This results in system memory being used for each open GDI window.

For this reason GDI was changed again in Windows 7 to ensure that it does not require a system memory surface per window. Since GDI rendering requires it to read, modify and write the system memory surface, and since the CPU cannot directly access video memory, GDI was modified to render to and from a piece of aperture memory. The aperture memory can be updated from the video memory surface holding the window contents. GDI can render back to the aperture memory, and the result can then be sent back to the window surface. Since the aperture memory segment is addressable by the GPU, the GPU can accelerate these updates to the video memory surface. For example: text rendering, BitBlt with common ROPs, AlphaBlend, TransparentBlt, StretchBlt are all accelerated in these cases. In addition, some operations can bypass the aperture memory segment entirely, such as window BitBlt and ColorFill.

من هذا المقال مقارنة بين GDI و Direct2D

آسفة على التقصير

موفق يارب...

[وسط]

♥ Countess ♥

57899411.gif

♥

[/وسط]

#5

بنصحك تنتظر حدا يجبيك إجابه افضل بكتير من مساعدتي في البحث معك!

ربما بيفهم اكتر بخصوص لغات Dot Net ويا GDI !! وبتكون اجابتو دقيقة وصحيحة

موفق يارب

[وسط]

♥ Countess ♥

57899411.gif

♥

[/وسط]

#6

أشكرك رغد ... يعطيك العافية

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