Vsync چیست و آیا باید از آن استفاده کرد؟

Vsync گزینه ای است که در اکثر بازی های رایانه شخصی(PC video games) و حتی گاهی اوقات در برنامه های دیگر مشاهده خواهید کرد. اما Vsync چیست؟ چه کار میکند؟ آیا باید آن را روشن یا خاموش کنید؟ 

پاسخ به این پیچیده است، اما زمانی که هدف Vsync را درک کردید، می‌دانید چه زمانی آن را روشن یا خاموش کنید.

Vsync چیست؟

اولین چیزی که باید بدانید این است که مانیتور شما می تواند تعداد معینی از تصاویر مجزا را در هر ثانیه نشان دهد. این به عنوان نرخ تازه‌سازی(refresh rate) شناخته می‌شود ، یعنی چند بار که مانیتور می‌تواند تصویر روی صفحه را به طور کامل با چیزی جدید تازه‌سازی کند.

اگر از قبل نمی دانید، توهم تصاویر متحرک روی صفحه نمایش با نمایش سریع دنباله ای از تصاویر ثابت ایجاد می شود. هر تصویر سوژه را در برش زمانی متفاوت نشان می دهد. اکثر فیلم هایی که در سینما تماشا می کنید با سرعت 24 فریم در ثانیه فیلمبرداری می شوند. بنابراین شما 24 برش از زمان را در هر ثانیه می بینید. 

همچنین محتوای زیادی با سرعت 30 و 60 فریم در ثانیه ضبط شده است. برای مثال، فیلم های دوربین اکشن معمولاً با سرعت 60 فریم در ثانیه ضبط می شوند.(Action camera)

هرچه فریم های منحصر به فرد بیشتری را بتوان در یک ثانیه نشان داد، حرکت صاف تر و واضح تر ظاهر می شود. مغز شما فریم ها را با هم ادغام می کند و آن را به عنوان یک عکس متحرک درک می کند.

در یک سیستم کامپیوتری، GPU (واحد پردازش گرافیکی) فریم هایی را برای ارسال به نمایشگر آماده می کند. با این حال، اگر نمایشگر برای یک فریم جدید آماده نباشد، زیرا همچنان روی ترسیم قاب قبلی کار می‌کند، می‌تواند باعث ایجاد موقعیتی شود که بخش‌هایی از فریم‌های مختلف به طور همزمان نمایش داده شوند. Vsync برای جلوگیری از این وضعیت، با همگام سازی فریم ها از GPU با نرخ به روز رسانی مانیتور، طراحی شده است.

نرخ‌های تازه‌سازی معمولی

رایج ترین نرخ تازه سازی صفحه نمایش 60 هرتز است. یعنی 60 رفرش در ثانیه. اکثر مانیتورهای کامپیوتر و تلویزیون حداقل این مقدار را ارائه می دهند. 

شما همچنین می توانید مانیتورهای کامپیوتر را با نرخ(refresh rates) های مختلف به روز خریداری کنید که عبارتند از: 75 هرتز، 120 هرتز، 144 هرتز، 240 هرتز و 300 هرتز. ممکن است اعداد عجیب دیگری نیز وجود داشته باشد، اما اینها معمولی هستند، با نرخ تازه سازی بالاتر در خارج از سیستم های بازی تخصصی نادرتر است. 

تلویزیون‌ها تقریباً همه واحدهای 60 هرتزی هستند، با مجموعه‌های 120 هرتزی(120 Hz) که اکنون به همراه آخرین نسل کنسول‌های بازی که از این نرخ به‌روزرسانی پشتیبانی می‌کنند وارد بازار اصلی شده‌اند.

تطبیق نرخ (Rate)فریم با (Frame) نرخ(Rates) تازه سازی

نیازی نیست که نرخ تازه سازی صفحه نمایش دقیقاً با نرخ فریم محتوا مطابقت داشته باشد. به عنوان مثال، اگر در حال پخش ویدیو با سرعت 30 فریم در ثانیه بر روی صفحه نمایش 60 هرتز هستید، فقط باید دو فریم یکسان را با فرکانس 60 هرتز نمایش دهید که در مجموع 30 فریم منحصر به فرد است. 

فیلم‌های 24 فریم در ثانیه یک چالش هستند، زیرا 24 به طور منظم به 60 تقسیم نمی‌شود. راه‌های مختلفی برای حل این مشکل وجود دارد. برخی از صفحه‌ها از شکلی از تبدیل ویدیویی استفاده می‌کنند که به عنوان «کششی» شناخته می‌شود که عدم تطابق را با هزینه اجرای محتوا با سرعت کمی متفاوت از آنچه در نظر گرفته شده، جبران می‌کند. 

بسیاری از نمایشگرهای مدرن نیز می‌توانند به نرخ‌های تازه‌سازی مختلف تغییر کنند. بنابراین یک تلویزیون ممکن است به 48 هرتز یا حتی 24 هرتز تغییر کند تا با فیلم‌برداری 24 فریم بر ثانیه همگام‌سازی کاملی داشته باشد. تلویزیون های(TVs) 120 هرتزی نیازی به این کار ندارند، زیرا 24 به طور مساوی به 120 تقسیم می شود.

زمان استفاده از Vsync

در بازی‌های ویدیویی، فریم‌ها مانند فیلم یا ویدیو به‌صورت منظم تولید نمی‌شوند. بدون هیچ محدودیتی، CPU ، GPU و موتور بازی سعی می کنند تا حد امکان فریم های بیشتری تولید کنند. با این حال، از آنجایی که حجم کاری که موتور بازی روی این قطعات می گذارد می تواند متفاوت باشد، نرخ فریم ممکن است نوسان داشته باشد.

همانطور که در بالا ذکر شد، زمانی که GPU فریم هایی را ارسال می کند که با نرخ تازه سازی مانیتور همگام نیستند، در جایی که قسمت های مختلف تصویر در یک راستا قرار نمی گیرند، آن ظاهر پارگی نمایشگر را خواهید دید.(screen tearing)

وقتی Vsync را فعال می‌کنید ، پردازنده گرافیکی(GPU) شما فقط زمانی فریمی را ارسال می‌کند که نمایشگر آماده ترسیم فریم جدید است، و همچنین به طور موثر سرعت نمایش فریم‌ها را محدود می‌کند. اما این در واقع می تواند مشکل دیگری را ایجاد کند که ناشی از نحوه "بافر" شدن فریم ها است. در ادامه، دو نوع متداول بافر قاب را مورد بحث قرار خواهیم داد.

Vsync دو در مقابل سه بافر(Versus Triple- Buffered Vsync)

"بافر" ناحیه ای از حافظه است که به عنوان یک منطقه انتظار تعیین می شود تا زمانی که دستگاه یا فرآیند دیگری برای آن آماده است خوانده شود. وقتی GPU شما یک فریم را رندر می کند، در بافر نوشته می شود. سپس صفحه فریم را از آن بافر می خواند تا آن را بکشد. 

امروزه به اصطلاح "بافر مضاعف" معمول است. دو بافر وجود دارد که به نوبت به عنوان بافر جلو و عقب عمل می کنند. صفحه نمایش قاب را از بافر جلو می کشد، در حالی که GPU روی بافر پشتی می نویسد. سپس دو بافر نقش ها را تغییر می دهند و روند تکرار می شود.

بدون Vsync ، دو بافر را می توان در هر زمان تعویض کرد. بنابراین ممکن است صفحه نمایش بخشی از هر بافر را در قاب بکشد که منجر به پارگی می شود. وقتی Vsync را روشن می کنید ، این پارگی از بین می رود. با این حال، اگر GPU نتواند نوشتن در بافر پشتی را در 1/60 ثانیه به پایان برساند، آن فریم حذف می شود. این باعث می شود 30 فریم در ثانیه موثر باشد. 

مگر اینکه رایانه شما بتواند به طور مداوم 60 فریم در ثانیه ارائه دهد، ممکن است 30 فریم در ثانیه قفل شده یا نرخ فریم های نوسان شدید بین 30 تا 60 را تجربه کنید.

بافر سه‌گانه(Triple-buffering) یک بافر پشتی دوم اضافه می‌کند، به این معنی که همیشه یک فریم آماده تعویض به بافر جلویی وجود دارد و این امکان را فراهم می‌کند که اعداد فرد مانند 45 یا 59 فریم در ثانیه در صفحه 60 هرتز وجود داشته باشد. اگر این گزینه به شما داده می شود، بافر سه گانه همیشه گزینه خوبی است.

انواع Vsync پیشرفته

سازندگان کارت گرافیک همچنان با پاره شدن صفحه نمایش و سایر مصنوعات ناشی از پاره شدن صفحه دست و پنجه نرم می کنند. هر سازنده بزرگ نسخه های پیشرفته Vsync را ارائه کرده است که سعی می کند تمام مزایا را بدون معایب ارائه دهد.

انویدیا(Nvidia) دارای AdaptiveSync و FastSync است که هر کدام رویکرد هوشمند خود را به Vsync دارند. حالت اول فقط زمانی Vsync را روشن می کند که نرخ فریم بازی برابر یا بالاتر از نرخ تازه سازی باشد. اگر کمتر از آن باشد، Vsync غیرفعال می شود و تاخیر بافر را از بین می برد. راه حل دوم بهتر است زیرا بافر سه گانه را فعال می کند و بالاترین نرخ فریم را بدون پاره شدن فراهم می کند.

AMD دارای Enhanced Sync است که مانند AdaptiveSync است.

Vsync در مقابل نرخ نوسازی متغیر

یک جایگزین قدرتمند برای Vsync وجود دارد که به عنوان نرخ تجدید متغیر شناخته می شود. فناوری انویدیا با نام G-Sync شناخته می شود و AMD FreeSync را توسعه داده است ، اما آن را رایگان و برای استفاده همه آزاد کرده است.

هر دو فناوری به مانیتور و GPU اجازه می دهند به گونه ای با یکدیگر صحبت کنند که فریم ها با دقت تقریباً بی عیب و نقصی همگام شوند. به عبارت دیگر، تمام اشکالات Vsync در اینجا بررسی می شود. 

نکته اصلی این است که خود مانیتور باید از این فناوری پشتیبانی کند. به ندرت می توان مانیتورهایی را پیدا کرد که از هر دو استاندارد پشتیبانی کنند، اما انویدیا(Nvidia) اخیراً از FreeSync پشتیبانی کرده و برای برخی از مانیتورها پشتیبانی کرده است. همچنین می‌توانید FreeSync را در مانیتورهایی که توسط Nvidia در لیست سفید قرار نگرفته‌اند فعال کنید، اما نتایج ممکن است در برخی موارد عالی نباشد.

بنابراین بیایید آنچه را که باید در مورد استفاده از Vsync بدانید را خلاصه کنیم :

  • اگر بازی شما نمی تواند نرخ فریم برابر یا بالاتر از نرخ تازه سازی مانیتور خود را حفظ کند، بافر سه گانه را فعال کنید یا نرخ تازه سازی را کاهش دهید.
  • اگر GPU شما نسخه پیشرفته تری از Vsync را ارائه می دهد ، ارزش امتحان کردن را دارد.
  • (G-Sync)اگر به آنها دسترسی دارید، G-Sync و FreeSync جایگزین های مطلوبی برای Vsync هستند.(FreeSync)
  • اگر می‌خواهید کمترین تاخیر ورودی را برای بازی‌های رقابتی داشته باشید، Vsync را خاموش کنید و در صورت در دسترس نبودن بازخوانی متغیر، با پاره شدن صفحه نمایش زندگی کنید.

اینها اصول اولیه Vsync هستند. اکنون بیرون بروید و با یک تجربه بازی بدون اشک لذت ببرید.



About the author

من یک متخصص کامپیوتر با بیش از 10 سال تجربه هستم و در کمک به افراد در مدیریت کامپیوترهایشان در دفترشان تخصص دارم. من مقالاتی در مورد موضوعاتی مانند نحوه بهینه سازی اتصال اینترنت خود، نحوه راه اندازی رایانه برای بهترین تجربه بازی و موارد دیگر نوشته ام. اگر در مورد هر چیزی که مربوط به کار یا زندگی شخصی خود است به دنبال کمک هستید، من آن شخص برای شما هستم!



Related posts