إضافة زمن استجابة وجيتر إلى تطبيق
كل شيء يعمل على اتصال محلي سريع. امنح التطبيق ping قدره 300 ms وستعرف أي الشاشات كُتبت كأن الجواب يصل فورًا.
ثلاثة أشياء مختلفة
| الإعداد | ماذا يفعل | من أين يأتي في الحياة الواقعية |
|---|---|---|
| Latency | يضيف التأخير نفسه إلى كل حزمة، بالملّي ثانية. | المسافة. خادم في قارة أخرى، أو قمر صناعي. |
| Jitter | يضيف مقدارًا عشوائيًا فوقه، فيظل التأخير يتغير. | واي فاي مشترك، وشبكات جوال، وكل ما هو مزدحم. |
| القفزات | توقفات طويلة عرضية، تُحدَّد بعدد مراتها ومدتها. | تسليم بين أبراج الاتصالات، أو موجّه (راوتر) تحت الحِمل. |
الثلاثة بالملّي ثانية ويمكن أن تعمل معًا. ويقبل رقما التأخير أي قيمة من 0 فأكثر، فتنتقل من 40 ms معقولة إلى 60 ثانية عبثية.
من سطر الأوامر
200 ms ثابتة مع 80 ms من الجيتر، على تطبيق واحد:
BeanNetworkTester.exe --latency 200 --jitter 80 --target myapp.exe --duration 60
وبدلًا من ذلك توقفات طويلة نادرة، فتقريبًا حزمة من كل عشرين تنتظر ثانية إضافية:
BeanNetworkTester.exe --spike-prob 5 --spike-ms 1000 --target myapp.exe
أرقام تستحق التجربة
- 40 ms: خادم في البلد نفسه. لا يجب أن يتغير شيء.
- 150 ms: قارة أخرى. يبدأ كل ما يكثر التخاطب بالبطء، لأن كل رحلة ذهاب وإياب لها ثمن.
- 600 ms فأكثر: قمر صناعي ثابت بالنسبة للأرض أو واي فاي الطائرة. هنا تتوقف أشرطة التقدم ويعمل منطق إعادة المحاولة أخيرًا.
تحمل الإعدادات المسبقة الجاهزة أرقامًا مقيسة: «Distant server (another continent)» و«Satellite (low orbit)» و«Satellite (geostationary)» و«In-flight Wi-Fi» و«LTE / 4G».
القياس: انظر إلى أسوأ حالة لا إلى المتوسط
الجيتر بالكاد يحرّك المتوسط، وبالكاد يحرّك الوسيط. فتشغيل بجيتر 30 ms وتشغيل بدونه قد يبلغان عن ping «نموذجي» متقارب جدًا مع أن الإحساس مختلف تمامًا.
قارن بدلًا من ذلك المئين الـ 95 بالوسيط. الفجوة بينهما هي الجيتر، وهذه الفجوة هي ما يجعل المكالمة الصوتية متقطعة واللعبة غير قابلة للعب بينما يبدو المتوسط سليمًا.