لگ (در بازی های ویدیویی)
در کامپیوترها، لَگ به معنای تأخیر (نهفتگی) بین کنش کاربر (ورودی) و واکنش سرور پشتیبانی کننده از وظیفه است که باید به مشتری (client) ارسال شود. توانایی کاربران برای تحمل لَگ بستگی به نوع وظیفه در حال اجرا دارد. به عنوان مثال، یک بازی با سرعت کم ممکن است آستانه بالایی داشته باشد یا حتی عمدتاً تحت تأثیر لَگ زیاد قرار نگیرد. در وظیفه ای که اجرای آن سخت است، مانند باز بودن تعداد زیادی تب یا پنجره، تفاوت زیادی در فریم ریت خواهید دید.
زمان پینگ تأخیر شبکه برای یک رفت و برگشت بین بازیکن کلاینت و سِرورِ بازی است که با ابزار پینگ یا معادل آن اندازه‌گیری می‌شود. زمان پینگ زمان میانگین است که بر حسب میلی ثانیه اندازه‌گیری می‌شود. هرچه پینگ کمتر باشد، بازیکن لَگ کمتری را تجربه خواهد کرد. "پینگ" بالا و پینگ پایین عباراتی هستند که معمولاً در بازی‌های آنلاین مورد استفاده قرار می‌گیرند، "پینگ بالا" باعث لَگ شدید می‌شود. هر مقداری از پینگ می‌تواند باعث لَگ شود، اما لَگ شدید به معنای پینگ بیش از ۱۰۰ میلی ثانیه است. این کاربرد یک مکالمهٔ عامیانه در بازی است و معمولاً در جمع‌های شبکه‌های رایانه ای حرفه ای یافت یا استفاده نمی‌شود. در بازی‌هایی که زمان‌بندی نقش کلیدی دارد مانند بازی‌های تیراندازی اول شخص و بازی‌های استراتژی هم‌زمان، همیشه پینگ پایین مطلوب است که یعنی گیم‌پلی روان‌تر است و امکان به‌روزرسانی سریع داده‌های بازی بین بازیکنان کلاینت و سرور بازی وجود دارد.
تأخیر زیاد هم می‌تواند باعث بروز لَگ شود. سرورهای بازی در صورتی که تأخیر خیلی زیاد باشد، به دلیل وارد شدن آسیب به گیم پلی بازیکنان دیگر ممکن است ارتباط کلاینت را قطع کنند. به همین صورت اگر تأخیر خیلی زیاد باشد، نرم‌افزار کلاینت اغلب دستور به قطع ارتباط می‌دهد. همچنین پینگ بالا موجب ناپایداری سرور‌ها و در نتیجه از کار افتادن آنها می‌شود.
در برخی از بازی‌های تیراندازی اول شخص، گاهی پینگ بالا موجب دستیابی ناخواستهٔ بازیکن به منفعت‌های ناعادلانه ای می‌شود، مانند از یک موقعیت غیب شدن و بلافاصله در مکان دیگر ظاهر شدن، که به اشتباه اثر دوربری را شبیه‌سازی می‌کند، و برای بازیکن‌های دیگر، تشخیص موقعیت کاراکترشان و متعاقباً هدف‌گیری بازیکن سخت می‌شود. برای مقابله با این سوءاستفاده، بسیاری از سرور‌های بازی به‌طور خودکار بازیکنان را با پینگ بالاتر از حد متوسط را بیرون می‌اندازند. در مقابل این سودمندی، یک پینگ بالا می‌تواند برای بازیکن به دلیل بروز ضرر، بازی و ردیابی بازیکنان دیگر و حتی حرکت دادن کاراکتر خود بازیکن در بازی را خیلی سخت کند.
برنامه نویسان بازی‌های ویدیویی برای برای تعیین زمان پینگ به جای اینکه از درخواست (به شکل درخواست سنتی اکو ICMP) و پاسخ (پاسخ به بسته‌های شبکه) استفاده کنند، کشف تأخیر را در بسته‌های بازی موجود (معمولاً بر اساس پروتکل UDP) برای خود می‌سازند.
برخی از عوامل تأثیر گذار بر پینگ عبارتند از: پروتکل ارتباطی مورد استفاده، گذرداد اینترنت (سرعت اتصال)، کیفیت رسانندهٔ خدمات اینترنتی کاربر و پیکربندی فایروال‌ها. موقعیت جغرافیایی هم بر پینگ تأثیر دارد؛ مثلاً، اگر بازیکنی در هند روی سروری در ایالات متحده بازی کند، چون فاصله بین این دو کشور بیشتر از بازیکنانی است که واقع در ایالات متحده هستند، انتقال داده‌ها طولانی‌تر می‌شود. هر چند غالباً مقدار سوئیچینگ بسته و سخت‌افزار شبکه در بین دو کامپیوتر مهمتر است؛ مثلاً، کارت‌های رابط شبکه بی‌سیم باید سیگنال‌های دیجیتال را به سیگنال‌های رادیویی تعدیل کنند، که اغلب هزینه‌برتر از زمانی است که سیگنال الکتریکی برای عبور از یک دهانه کابل معمولی طول می‌کشد. پس پینگ پایین‌تر می‌تواند نرخ دانلود و آپلود اینترنت را سریع تر کند.
بر خلاف بازی تک نفره که حالت اصلی بازی را روی ماشین محلی حفظ می‌کند، بازی آنلاین آن را روی سرور مرکزی نگهداری می‌کند چون باید از ناهماهنگی بین تک کلاینت‌ها جلوگیری شود؛ بنابراین کلاینت هیچ کنترل مستقیمی بر وضعیت مرکزی بازی ندارد و شاید فقط درخواست‌های تغییر را به سرور بفرستد و تنها با دریافت به روز رسانی از سرور وضعیت بازی محلی را به روز کند. این نیاز به برقراری ارتباط باعث تأخیر بین کلاینت و سرور می‌شود و دلیل اصلی لگ همین است. دلایل اساسی متعددی که چرا یک بازیکن تأخیر را تجربه می‌کند می‌توان برشمرد ولی خلاصهٔ آنها عدم وجود سخت‌افزار کافی در کلاینت یا سرور، یا ارتباط ضعیف بین کلاینت و سرور است.
مشکلات سخت‌افزاری به دلیل ساختار پایه ای معماری بازی باعث لگ می‌شود. بازی‌ها معمولاً از یک توالی حلقه ای از حالت‌ها یا «فریم ها» تشکیل شده‌اند. در طول هر فریم، بازی ورودی کاربر را می‌پذیرد و محاسبات لازم (هوش مصنوعی، گرافیک و غیره) را انجام می‌دهد. وقتی همهٔ پردازش‌ها تمام شد، بازی وضعیت خود را به روز می‌کند و یک خروجی مثل نمایش تصویر جدید روی صفحه یا یک بسته برای ارسال به سرور می‌دهد. معمولاً به فرکانس تولیدی در هر کدام از فریم‌ها فریم ریت گفته می‌شود. چون حالت مرکزی بازی روی سرور قرار دارد، پس باید کلاینت اطلاعات به روز شده را به سرور بفرستد تا اعمال شود. علاوه بر این، کلاینت باید اطلاعات لازم را از سرور دریافت کند تا وضعیت کاملاً به روز شود. تولید بسته‌ها برای ارسال به سرور و پردازش بسته‌های دریافتی تنها زمانی انجام می‌شود که کلاینت بتواند وضعیت محلی خود را به‌روزرسانی کند. اگرچه بسته‌ها از نظر تئوری می‌توانند سریع‌تر از این تولید و ارسال شوند، تنها وقتی داده‌های اضافی ارسال می‌شود که وضعیت بازی بین هر بسته بروز رسانی نشود. پس فریم ریت پایین موجب پاسخ کمتر بازی به بروز رسانی‌ها و رد شدن از داده‌های قدیمی می‌شود.
در مقابل، همین اتفاق برای سرور هم می‌افتد. فریم ریت (یا تیک ریت) سرور تعیین می‌کند که هر چند وقت یکبار می‌تواند داده‌های کلاینت‌ها را پردازش کند و بروز رسانی‌ها را ارسال کند. پیش‌بینی این نوع مشکل و جبران آن دشوار است. جز اجرای حداقل نیازمندیهای سخت‌افزاری و تلاش برای بهینه‌سازی بازی برای عملکرد بهتر، هیچ راه عملی برای مقابله با آن وجود ندارد.
شاید رایج‌ترین نوع لگ ناشی از مشکلات عملکرد شبکه باشد. اتلاف، تخریب یا لرزش (یک بسته تاریخ گذشته نتیجهٔ اتلاف است) ممکن است همه مشکلاتی را ایجاد کنند، اما این مشکلات در شبکه ای با پهنای باند کافی و نامتراکم یا کم‌تراکم نسبتاً کمتر اتفاق می‌افتد. در عوض، تأخیر دخیل در انتقال داده بین کلاینت و سرور نقش مهمی دارد. تفاوت تأخیرها در عاملهایی مثل فاصله فیزیکی بین سیستم‌های انتهایی است، چون برای فاصله بیشتر امتداد مخابراتی طولانی‌تر و مسیریابی نیاز است که در نتیجه تأخیر بالاتر می‌شود. مسیریابی از طریق اینترنت ممکن است بسیار پیچیده باشد، که منجر به امتداد مخابراتی بسیار بیشتر (و در نتیجه تأخیر) نسبت به مسیر سر راست می‌شود، اگرچه سرویس بازی ابری OnLive با ایجاد روابط همتا با چندین ارائه‌دهنده خدمات اینترنت شبکه سطح ۱ و انتخاب مسیر بهینه بین سرور و کاربر راه‌حلی برای این موضوع ایجاد کرده‌است. هم چنین، پهنای باند ناکافی و ازدحام، حتی اگر به اندازه کافی شدید نباشد که باعث اتلاف شود، ممکن است بدون توجه به مسافت باعث تاخیرهای اضافی شود. مثل مشکلات سخت‌افزاری، بسته‌هایی که آهسته وارد می‌شوند یا اصلاً نمی‌رسند، باعث می‌شوند هم کلاینت و هم سرور نتوانند وضعیت بازی را به موقع بروز کنند.