اجعل ساعة تطبيق واحد تسير أسرع
تستغرق الفترة التجريبية البالغة 30 يومًا 30 يومًا لتنتهي، ما لم تستطع تحريك الوقت. والنصيحة المعتادة هي دفع ساعة النظام إلى الأمام، وهذا يتطلب صلاحيات المسؤول ويجرّ كل برنامج آخر على الجهاز معه. أما هذه الأداة فتحرّك عملية واحدة بدلًا من ذلك.
كم السرعة
اختر مُضاعِفًا بعدد صحيح. تتقدم ساعة التطبيق بهذا العدد من المرات أسرع من الساعة الحقيقية، منذ اللحظة التي تبدأ عندها الجلسة.
| المُضاعِف | تصبح الدقيقة الحقيقية الواحدة | مفيد لـ |
|---|---|---|
x60 | ساعة | المهام الساعية، ومهلات انتهاء الجلسات، وأعمار الرموز |
x1440 | يوم | انقلاب الأيام، وفترة تجريبية مدتها 30 يومًا في نصف ساعة |
x43200 | فترة تجريبية مدتها 30 يومًا | مشاهدة الفترة التجريبية كلها تنتهي وأنت تقرأ هذا |
x525600 | سنة | التجديدات السنوية، وانتهاء الشهادات |
x1000000 | نحو 1.9 سنة | الحد الأقصى |
# ابدأ من الوقت الحقيقي الآن، وشغّل يومًا كل دقيقة chrono run "C:\apps\test.exe" --mode x1440 # ابدأ من تاريخ تختاره وسرّع منه chrono run "C:\apps\test.exe" --at 2027-12-01T09:00:00 --mode x1440 # ثبّت الساعة تمامًا بدلًا من ذلك chrono run "C:\apps\test.exe" --mode frozen
الجزء الذي يوقع الناس: الساعات اثنتان
تسريع ساعة الحائط - ما تعيده DateTime.Now وما يماثلها - لا يسرّع بذاته العدّ التنازلي. فهذان سؤالان مختلفان يستطيع التطبيق أن يوجّههما إلى نظام التشغيل، وكثير من البرمجيات تقيس «الثلاثين يومًا» بالثاني لا بالأول.
ولهذا فإن محور المدد - عدّادات الدقّات والنوم والانتظار والمؤقّتات - مفتاح منفصل:
--scale-durationينقل أيضًا عدّادات النبضات وفترات السكون والمؤقتات إلى ساعة الجلسة، بينما تُعدّ انتظارات الكائنات وتبقى بطولها الحقيقي. ومن دونه يندفعx1440بالتقويم إلى الأمام بينما يستغرق مؤقت الخمس ثوانٍ خمس ثوانٍ حقيقية - إلا المؤقت المضبوط على تاريخ ووقت محددين، فهو يتبع ساعة الجلسة في كل جلسة.- ويضاعف
--scale-qpcالعدّاد عالي الدقة إضافةً إلى ذلك. وهو الموضع الذي تقرأ منهmonotonicفي Python 3.13+ وStopwatchفي .NET وnanoTimeفي Java الزمن المنقضي، وهو معطّل افتراضيًا لأن مضاعفته زعزعت الرسم أثناء الاختبار.
وإذا بدا أن المُضاعِف لا يفعل شيئًا بالعدّ التنازلي فهذا هو السبب في الغالب.
# تطبيق مؤقّت: سرّع التقويم والعدّادات التنازلية معًا chrono run "C:\apps\Timer.exe" --mode x60 --scale-duration # تطبيق Python أو .NET يقيس الزمن المنقضي بالعدّاد عالي الدقة chrono run "C:\apps\Job.exe" --mode x60 --scale-duration --scale-qpc
تغيير السرعة دون إعادة تشغيل
يمكن تغيير المُضاعِف في منتصف الجلسة، وتُعاد تثبيت الساعة بدل أن تقفز، فلا ترجع إلى الوراء حين تنخفض السرعة. ويمكنك أيضًا القفز بالساعة مباشرةً - إلى الأمام، أو إلى الوراء كما يفعل الحاسوب المحمول بعد المزامنة مع خادم الوقت، وهي الحالة التي تكسر كل ما يقيس الزمن المنقضي دون حارس.
# شغّل بمُضاعِف 60، ثم بدّل إلى 1440 بعد ثانيتين chrono run "C:\apps\test.exe" --mode x60 --set-after 2:1440 # شغّل، ثم اقفز بالساعة إلى لحظة تختارها بعد خمس ثوانٍ chrono run "C:\apps\test.exe" --jump-after 5:2028-01-01T00:00:00
ما لن تفعله
- لا تمسّ ساعة النظام. وهذا هو المقصود لا قيدًا - لكنه يعني أن أي شيء يقرأ الوقت من خادم أو قاعدة بيانات أو جهاز آخر لا يتأثر، وسيخبرك التدقيق حين يحدث ذلك.
- القفزة تغيّر ما يراه التطبيق، لا وقت استيقاظه. فترات السكون والمؤقتات التي سُلّمت إلى النواة تحتفظ بالطول الذي أُعطيته عند ضبطها. معظم التطبيقات تستطلع الساعة، لذا تنجح القفزات عمليًا - لكن ليس في جميعها.
- لا تبطّئ الوقت. المُضاعِفات أعداد صحيحة من واحد فصاعدًا، إضافةً إلى ساعة مجمّدة عند الصفر.
ولا ينبغي أن تفترض هل وصل شيء من هذا إلى تطبيقك. تقول الجلسة ذلك ←