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

تحسين أداء التطبيقات على الأجهزة الكفية

مغلق
بدأه تمام كوجان في 26 سبتمبر 2006 · 0 رد · 594 مشاهدة · في برمجة الأجهزة الكفية والمحمولة بالدوت نيت
مشاركة: واتساب X فيسبوك تيليجرام
#1

بسم الله الرحمن الرحيم

دعونا نتحدث قليلا عن ناحية يهملها المبرمج العربي على الأغلب

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

قد يظن البعض ان تحسين أداء التطبيق يكون في مجال التعامل مع الرسوميات فقط

لكن هذا الكلام غير صحيح

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

و التعامل مع البيانات و كيفية الوصول إليها و أساليب البحث و حتى الخوارزميات الحسابية

فلنبدأ و لننطلق من الخطوة الأولى :

* - تحدثنا في هذا القسم عن تقنية تدعى PInvoke (كما أنه قد تم الحديث عنها في اقسام الدوت نت الأخرى)

اذا كنت لا تعلم ما هي PInvoke راجع المواضيع التالية :

لــP/Invoke

كيف أقوم بتشغيل برنامج من خلال برنامجى

الان انت تعلم ما هي PInvoke

قلت بأن هذه التقنية قد مرت معنا في القسم عدة مرات و هي تعتمد على استدعاء بعض الدوال و التوابع الموجودة في

نظام التشغيل من خلال الدوت نت لسد النقص الموجود في .NET Compact Framework

حسنا اذا كنت اريد القيام بأمر و كان هذا الامر يتم من خلال PInvoke فقط فلا بد ان أستخدمها

لكن في الحالة التي يكون لدي حل من خلال PInvoke و يكون لدي حل باستخدام Managed Code

(managed Code يعني اي كود مكتوب بإحدى لغات الدوت نت)

فأيهما يجب أن استخدم ؟

قد يقول البعض يجب ان نستخدم PInvoke طالما انها تستخدم دوال النظام نفسه و بالتالي ستكون اسرع خاصة انها Native Code

(Native Code هي الكود المكتوبة بلغة غير لغات الدوت نت و على الاغلب يقصد بها الكود المكتوب بالـ C++)

بينما استخدام Managed Code يعني ان الكود سيكون مخزنا كـ IL و من ثم سيحول إلى لغة الألة عند التنفيذ (خاصة ان .NET CF

لا يملك Native Image)

قد أخالفكم الرأي في هذا

اذا كان عندي حلان أحدهما باستخدام PInvoke و الاخر عن طريق .NET Compact Framework

سأختر الثاني بالطبع

لأن القيام بعملية من خلال PInvoke يستغرق من خمس مرات إلى ست مرات أكثر من القيام بعملية مماثلة باستخدام Managed Code

كما ان استخدام Managed Code له ميزة إضافية ألا وهي انك قادرة على التعامل مع المشاكل التي قد تحدث بشكل أفضل

كما ان ادارة الذاكرة ستكون افضل حيث ان الـ GC في .NET Compact Framework سيدير الذاكرة التي

يستخدمها Managed Code لكن في حالة PInvoke عليك تحرير المصادر التي استخدمتها بنفسك

نلتقي في حلقة قادمة ;)

تمام كوجان

تم تعديل هذه المشاركة بواسطة Tammam Koujan في 26 سبتمبر 2006 في 08:34

اللهم صل و سلم على سيدنا محمد

كاف و نون خلقهم و فنائهم كاف و نون

عالمي شاشة و لغتي صفر و واحد

Just Smile ............You can do it

When you stop learning ... You stop leading

لساني بنطقي صامت عنه عادل............وقلبي بصمتي ضاحك منه هازل

وأتـعـب من نـاداك من لا تـجيبـه............وأغـيظ من عـاداك من لا تـشاكـل

مدونتي الشخصية : Tammam Koujan

آخر مواضيع المدونة :

هذا الموضوع مغلق.

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…