سؤال

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

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

المحلول

أهذا Forms.Timer?

أشك في أنه يعمل بشكل أسرع ، وأرجح أن يتم التعامل مع حدث إطلاق الموقت في الوقت المناسب. على الرغم من التقليل إلى الحد الأدنى ، من المفترض أن تكون هناك رسائل أقل تعاملها مضخة رسائل Windows ، والتي يمكن أن تفسر شريحة زمنية أكبر للتعامل مع رسائل المؤقت. هناك أيضا isue من الحد الأدنى لقرار المؤقت.

إذا كان ذلك ممكنًا ، فحاول استخدام أحد أنواع الموقت الأخرى ، مثل System.Timers

يكون مكون Timer Windows Forms ذو ترابط واحد ، ويقتصر على دقة 55 ميلي ثانية. إذا كنت بحاجة إلى جهاز توقيت متعدد مؤشرات الترابط بدقة أكبر ، فاستخدم فئة الموقت في مساحة اسم System.Timers.

المرجع.

نصائح أخرى

إذا كنت أتذكر بشكل صحيح ، الحد الأدنى القرار يمكنك الخروج من System.Windows.Forms.Timer (وهو ما أفترض أنه ما تستخدمه هنا) هو 55 مللي ثانية. إن تعيينه على 1 مللي ثانية يعني بشكل أساسي أنه يتجه بشكل مستمر.

بالطبع ، لا يضمن المؤقت أن تصل القراد إلى الفاصل المحدد بالضبط. إذا كان تطبيقك مشغولاً بالقيام بأشياء أخرى (مثل إعادة رسم الشاشة) ، فقد يستغرق الأمر بضعة MS ، أو أكثر بكثير تحت الحمل الثقيل. إذا تم ضبط المؤقت على فاصل زمني قدره 1 ، فلن تلاحظ ذلك حقًا ، ولكن عند الحد الأدنى من النافذة (55 مللي ثانية) ، فقد.

عندما يتم تقليل التطبيق ، هناك عدد أقل من الأحداث الأخرى التي يمكن أن تقاطع أحداث المؤقت قبل إطلاق النار.

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