سؤال

هل هناك أي أداء في الأداء في استخدام Raiseevent في .صافي?

لدي رمز يشبه ما يلي.

Dim _startTick As Integer = Environment.TickCount
'Do some Task'
Dim duration As Integer = Environment.TickCount - _startTick
Logger.Debug("Time taken: {0}", duration)
RaiseEvent Datareceived()

إرجاع الرمز أعلاه:

Time taken: 1200

Time taken: 1400

ولكن إذا أزلت RaiseEvent يعود:

Time taken: 110

Time taken: 121

أنا مندهش من أن RaiseEvent يسمى بعد تسجيل الوقت المستغرق. كيف يؤثر على إجمالي الوقت المستغرق؟

اعمل على ذلك .NET الإطار المضغوط.

في EventHandler ، أعطيت msgbox. عندما أزلت مربع الرسائل ، فإنه يظهر الآن الوقت الذي تم استغرقه 110 ، 121 ، وما إلى ذلك ، أي أقل من 500 مللي ثانية. إذا قمت بإعادة MSGBox إلى EventHandler ، فإنه يعرض 1200 و 1400 وما إلى ذلك ، أي أكثر من ثانية.

أنا مندهش الآن (يتم رفع الحدث بعد جزء التسجيل).

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

المحلول

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

هنا يمكنك تحديد المشكلة الدقيقة.

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