![]() |
|
[VB.NET] تايمر جديد اسرع بأضعاف من التايمر العادي ؟! - نسخة قابلة للطباعة +- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb) +-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182) +--- قسم : قسم مقالات VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=184) +--- الموضوع : [VB.NET] تايمر جديد اسرع بأضعاف من التايمر العادي ؟! (/showthread.php?tid=32202) |
تايمر جديد اسرع بأضعاف من التايمر العادي ؟! - 3booody - 21-11-19 السلام عليكم ورحمة الله وبركاته قبل قليل كنت اجرب شي وهو عمل تايمر عن طريق BackgroundWorker وتفاجئت عندما رأيت انه اسرع من التايمر العادي وحبيت اضع هذا المقال ان شاء الله يفيدكم , بالرغم ان كلامها نفس السرعة عند وضع [b]interval يساوي 1000 لكن ممكن وضع قيمة 0 للفئة الجديدة وهي اصلا اسرع عندما كلاهما 1 بكثير[/b] اولآ سنقوم بعمل التايمر ثم نقارن بين السرعتين: نفتح مشروع جديد ونضيف كلاس جديد ونسميه Mytimer الان انسخ الكود الذي عملته وهو اداة تشبه التايمر الى الكلاس كود : Imports System.ComponentModelواعمل Build للمشروع ستلاحظ ظهور الاداة كما في الصورة نضيف الاداة على الفورم ونضيف Timer العادي و2 ليست بوكس وزر بوتون و2 ليبل كما في الصورة ونختار لكلا التايمرين interval=1 الان نضع هذا الكود في الفورم كود : Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Clickوكما تلاحظون تعمدت تشغيل التايمر العادي قبل الكلاس الذي انشأته لكن ستلاحظون فرق كبير بالسرعة حيث تقريبا عندما وضعت Interval للكلاس يساوي 15 تقريبا تساوت السرعتان ان شاء الله يكون موضوع مفيد للبعض وتحياتي RE: تايمر جديد اسرع بأضعاف من التايمر العادي ؟! - asemshahen5 - 22-11-19 موضوع جميل جعله الله في ميزان حسناتك . PHP كود : Dim mythr As Threading.Threadساعة بدون اداة التايمر . RE: تايمر جديد اسرع بأضعاف من التايمر العادي ؟! - 3booody - 22-11-19 (22-11-19, 06:24 AM)asemshahen5 كتب : موضوع جميل جعله الله في ميزان حسناتك . ماشاء الله استاذ عاصم ربي يحفظك لي سؤال لماذا المسارات لاتعمل لدي الا اذا وضعت عدم تحقق للمسارات كود : System.Windows.Forms.Control.CheckForIllegalCrossThreadCalls = Falseوسؤالي الاخر ماهو سر الكود ؟ لان انا في الاول استخدمت كود : Threading.Thread.Sleep()واذا لاحظت اني استخدمت Stopwatch بدل عنها اسأل الله ان يزيدك من علمه وشكرآ لك RE: تايمر جديد اسرع بأضعاف من التايمر العادي ؟! - asemshahen5 - 23-11-19 لكل طريقة محاسنها و مساوئها انت تستخدم اداة BackgroundWorker انا استخدمت كود Thread عادي . عندي لايتم التحقق عندك يتم بسبب الاداة المستخدمة و نفس الشيء بالنسبة للسؤال الثاني . مساوء طريقتي اني لا استطيع اغلاق الفورم دون كتابة : mythr.Abort() في كود الاغلاق . RE: تايمر جديد اسرع بأضعاف من التايمر العادي ؟! - 3booody - 23-11-19 غريب مع اني سواء استخدمت Thread او اداة ال BackgroundWorker نفس رسالة الخطأ تظهر على العموم اشكرك استاذي الغالي ربي يزيدك من علمه ويحفظك RE: تايمر جديد اسرع بأضعاف من التايمر العادي ؟! - محمد كريّم - 24-11-19 (22-11-19, 12:11 PM)3booody كتب : ماشاء الله استاذ عاصم ربي يحفظك قبل قليل واجهت نفس المشكلة ووجدت الحل في Invoke() المشكلة تحدث بسبب محاولة thread الوصول إلى control موجود على thread آخر جرب هذه الطريقة (كود محول وغير مجرّب) : كود : Invoke(CType(Function()طرق أخرى (C#) : https://stackoverflow.com/q/10775367/3814729 https://stackoverflow.com/q/142003/3814729 RE: تايمر جديد اسرع بأضعاف من التايمر العادي ؟! - sendbad100 - 24-11-19 السلام عليكم
الله يعطيك الصحة والعافية اخي /3booody
لو طرحنا فكرة التايمر الجديد للنقاش
بصراحة شدني العنوان كيق تايمر اسرع لانه يجب ان تعطية القيمة كي ينفذ كل فترة زمنية معروفة ك دقيقة او ثانية او اقل. المهم تكون حسابها.
لذلك اعتقد التايمر الجديد فكرتة بديل او ك For loop .
ام ماذا؟
RE: تايمر جديد اسرع بأضعاف من التايمر العادي ؟! - 3booody - 24-11-19 (24-11-19, 01:39 AM)محمد كريّم كتب : قبل قليل واجهت نفس المشكلة ووجدت الحل في Invoke() (24-11-19, 05:46 AM)sendbad100 كتب : نعم اخي الفاضل بالضبط وكلنا نعرف ان سر التأخر هوا دالة Wait التي وضعتها وسرعتها تعتمد على ال Loop وهي تستطيع اعتبارها حلقة تكرارية تتحكم في سرعتها وتستطيع تشغيلها واطفائها بأي وقت , وهي بالفعل تكون متساوية السرعة عند الثانية او نصف ثانية او الاكثر منهما لان احيانآ نحتاج نستخدم تايمر بأقصى سرعته وربما حتى سرعته لاتؤدي الغرض الذي نريد واذكر أني اجبت على سؤال لاحد الاخوة كان يستخدم تايمر ليأخذ فريمات صور متتالية بأقصى سرعة للتايمر و لو يستخدم هذه الاداة راح يكون شغلو اسرع لالتقاط الصور من الكود الذي اعطيته هو في السابق والحمدلله انها كانت مشاركة حلوه لان تحلو المشاركة بكثرة نقاشاتها اسأل الله ان يديم هذا الجمع الطيب RE: تايمر جديد اسرع بأضعاف من التايمر العادي ؟! - ابو روضة - 27-11-19 هكذا المبدعون أمثال أخى الغالى 3booody
يصنعون من المستحيل مُمكناً بل سهلاً مُيسراً ومن الشيئ العادى شيئاً عظيماً ذا قيمة...
RE: تايمر جديد اسرع بأضعاف من التايمر العادي ؟! - 3booody - 27-11-19 (27-11-19, 11:22 PM)ابو روضة كتب : كلامك الجميل هو القيم اخي الغالي ابو روضة اشكرك واسأل االله التوفيق لك |