سؤال

وكيف باهظة الثمن هو لخلق فرش GDI والأقلام؟ يجب أن خلق لهم على أساس الوظيفة المطلوبة والانتهاء منها في استخدام حتى يتم التخلص منها بسرعة، أو ينبغي أن إنشاء فئة ثابتة مماثلة لفئة System.Drawing.Brushes؟

هل كانت مفيدة؟

المحلول

والمنظمة البحرية الدولية، وانهم فعالة بما فيه الكفاية التي يجب أن عادة لا إنشاء مثيلات طويلة الأجل التي تستخدم على مدى عدة استدعاءات الأسلوب، ولكن غير فعالة بما فيه الكفاية أنه يجب إنشاء كل واحد مرة واحدة فقط في طريقة معينة، بدلا من إنشاء واحدة جديدة في كل مرة تحتاج إلى رسم شيء.

وبعبارة أخرى، لا تقم بتخزين فرشاة مخصصة في صفك التي تستخدمها لرسم النص الخاص بك على كل مكالمة OnPaint، ولكن أيضا لا إنشاء فرشاة جديدة لكل سطر من النص الذي رسم في تلك الدعوة OnPaint، سواء.

نصائح أخرى

ولقد واجهت استثناءات عند محاولة رسم مخصصة الصور في تطبيقات الويب تحت الحمل مع فرشاة ثابتة.

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

لدينا واجهة المستخدم الرسومية شكلي برزت لنا كنا مجرد محاولة وضعها في "باستخدام" (إعادة خلق كلما لزم الأمر) عند وضع الضوابط لدينا، وأحسب أننا تحسين إذا لزم الأمر.

ولم يشترط.

وهذا هو WinForm على ويندوز سي مما يعني عموما جيدة له عند تظهر الأشياء التي قد تكون بطيئة قليلا على سطح المكتب (التفكير يشعر أكثر تكلفة بكثير على ويندوز سي مثلا) لذلك إلا إذا كنت تفعل بعض التلاعب صورة المجنون على سطح المكتب التي تتطلب MUCHO الأداء الإقتصادي الأداء ثم أعتقد أنك يجب أن يكون على ما يرام خلق لهم عند الاقتضاء.

وIIRC باستخدام الفرش. جمع في GDI قد يكون خيارا لأن ذلك يضمن أنها تحصل مؤقتا والتخلص منها في نهاية على الرغم من أنني لست متأكدا من سلامة موضوع هناك.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top