G-Sync انويديا چيست و چطور اشكال ناهمگامي كارت گرافيك و مانيتور را حل ميكند
كمپاني NVIDIA يكي از توليدكنندگان بزرگ تراشه در دنياست و به ويژه در توليد كارت گرافيكها خوش درخشيده است. در صنعت بازيهاي رايانهاي هم انويديا كارش را به نحوه احسن انجام داده و هر از گاهي با خلاقيتهاي نوين مرتبط با دنياي گرافيك كه محصول انويدياست آشنا ميشويم. G-Sync هم يكي از دستاوردهاي جديد انويديا براي هماهنگشدن سرعت نوسازي نمايشگر و كارت گرافيك است. به اين صورت كه فريمهاي رندر شده، درست هماهنگ با عوضشدن تصوير نمايشگر، به آن داده شوند.
در ادامه به مطالعه اين تكنولوژي جديد، طرز كار و سختافزار لازم براي استفاده از آن و نتيجهي آن در بازيها ميپردازيم. ببنيم اين بار انويديا چطور صنعت بازيهاي رايانهاي را تكامل ميبخشد. با اخبار تخصصي، علمي، تكنولوژيكي، فناوري مرجع متخصصين ايران همراه باشيد.
هنگامي كه جديدترين نسخهي درايور كارت گرافيك NVIDIA را دريافت و نصب ميكنيد، بستهاي نسبتاً كمحجم به نام GeForce Experience هم در كنار درايور قابل نصب است. انويديا در اين بسته، مجموعهاي از امكانات ساده را براي بازيخورهاي پيسي در انديشه متخصصين گرفته تا رضايت متخصصان را به دست آورد. از آن مهمتر اين است كه انويديا با توجه به اينكه نسل جديد كنسولهاي بازي يعني PS4 و Xbox One از انديشه متخصصين قدرت پردازش گرافيكي، از كارت گرافيكهاي قدرتمند بازار فاصلهي زيادي دارند، قصد گسترش دنياي بازيهاي پيسي را دارد. به علاوه پردازندهي گرافيكي اين دو كنسول، هر دو توسط كمپاني رقيب يعني AMD توليد شده و سودي نصيب انويديا نميشود.
از امكانات GeForce Experience، معرفي بهترين تنظيمات گرافيكي در بازيهاي مختلف است. انويديا بازيها را روي كارت گرافيكهاي مختلف خود اجرا كرده و در نهايت بهترين تنظيمات را براي هر مدل در اين نرمافزار معرفي ميكند.
در دنياي كنسول، تنظيمات گرافيكي معني خاصي ندارد؛ وليكن در پيسي با توجه به متفاوتبودن كارت گرافيكها و توان پردازشي آنها، در هر بازي بايد تنظيمات را در حد كافي پايين آورد تا كاملاً روان اجرا شود.
اما در نهايت سرعت اجراي بازيها و نرمافزارهاي گرافيكي، هميشه در حد مطلوب نيست و از آن مهمتر، متغير است. G-Sync چيزي است كه انويديا براي غلبه بر اشكال بريدگي فريم معرفي كرده كه در ادامه به آن ميپردازيم.
پديدهي بريدگي و مأموريت G-Sync
G-Sync از جمله جديدترين تكنولوژيهاي معرفي شده توسط انويدياست كه به صورت بستهي سختافزاري عرضه ميشود. موضوع به صورت ساده اين است كه نرخ خروجي فريمها از كارت گرافيك با نرخ نوسازي تصوير در نمايشگر برابر نيست و لذا اين دو مقوله به شكل ناهمزمان پيش ميروند. به مثال زير توجه كنيد:
فركانس پنل يك مانيتور يا تلويزيون 60 هرتز است؛ 60 تصوير در يك ثانيه. كارت گرافيك با آخرين توان خود مشغول رندر كردن فريمهاست و با اتمام مراحل رندرشدن هر يك از فريمها، سريعاً آن را در اختيار نمايشگر قرار ميدهد. در اين صورت ممكن است فريم جديد زماني از راه برسد كه نمايشگر در حال نمايش فريم رندر شدهي قبلي است.
اتفاقي كه ميافتد اين است كه بخشي از تصوير نمايشگر، فريم قبلي را نشان ميدهد و بخش ديگر، فريم جديد را و با توجه به تفاوت دو فريم، يك و حتي چند خط افقي در تصوير نمايشگر ديده ميشود كه احتمالاً در بازيها، با آن مواجه شدهايد.
نمونهاي اغراقآميز از اين رخداد را در تصوير زير مشاهده ميكنيد، 2 بريدگي در يك فريم تصوير:
مأموريت جي-سينك دقيقاً اين است كه كارت گرافيك و نمايشگر را با هم سينك يا همگام كند.
VSync نرمافزاري در مقابل G-Sync سختافزاري
شايد اولين سؤال بازيخورهاي حرفهاي اين باشد كه آيا با استفاده از VSync نميتوان بريدگي را از بين برد؟ چه نيازي به تجهيزات سختافزاري است؟
موضوع اين است كه همگامسازي عمودي يا Vertical Sync كه بريدگي را حذف ميكند، يك اشكال جديد به وجود ميآورد. Stuttering يا رواننبودن نمايش تصوير كه ميتوان به آن گيركردن يا وقفه هم گفت.
با فعال كردن V-Sync در يك بازي، كارت گرافيك در كار خود وقفههايي ايجاد ميكند و فريم را زماني رندر كرده و تحويل نمايشگر ميدهد كه نمايشگر در حال تعويض تصوير است.
مثلاً در نمودار زير فريم اول رندر شده و در اولين اسكن نمايشگر نمايش داده ميشود. به عبارت ديگر Draw 1 در (Scan (1 نمايش داده ميشود. فريم دوم به پردازش سنگينتري نياز دارد. مثلاً يك صحنهي شلوغ، پر از انفجار و نورپردازي و سايهزني سنگين است. بنابراين دير رندر ميشود. نمايشگر به اسكن بعدي خود رسيده ولي هنوز خبري از دومين فريم نيست؛ لذا همان فريم اول را در اسكن بعدي خود نمايش ميدهد.
فريم دوم در اسكن بعدي نمايشگر آمادهي نمايش است؛ ولي توجه كنيد كه فريم بعدي با تأخير نسبتاً زياد رندر خواهد شد؛ استاتر يا وقفه يا گير هم به اين تأخير بيمورد اشاره ميكند.
اما G-Sync روش ديگري دارد و كاري ميكند كه نمايشگر منتظر كارت گرافيك شود و فريم جديد را تحويل بگيرد و سريعاً اسكن جديد خود را آغاز كند و آن را نمايش دهد. بنابراين بريدگي و وقفه، هيچ كدام اتفاق نميافتد و تصوير كاملاً روان و يكنواخت خواهد بود.
توجه كنيد كه G-Sync تنها در مورد كارت گرافيكهاي انويديا و نمايشگرهايي قابل استفاده است كه از G-Sync همراهي كنند.
روش كار G-Sync
جي-سينك يك راه حل سختافزاري براي اشكال ناهمگام بودن كارت گرافيك و نمايشگر است. انويديا اسكيلكنندهي نمايشگر را با برد G-Sync جابجا ميكند و كاري به پنل و كنترلر تايمينگ آن ندارد. منظور از كنترلر تايمينگ يا TCON، كنترلكنندهي زمانبندي پنل است و اسكيلكننده هم مأموريت بزرگ يا كوچككردن تصوير و در واقع تغيير رزولوشن را بر عهده دارد. توجه كنيد برد G-Sync فعلاً داراي واحد اسكيلكننده نيست؛ وليكن در جايي قرار ميگيرد كه بايد يك اسكيلكننده هم حضور داشته باشد تا در صورت پخش رزولوشنهاي پايينتر يا بالاتر، آنها را به رزولوشن اصلي نمايشگر، تغيير دهد. اما فقدان واحد اسكيلكننده اشكال بزرگي نيست؛ چرا كه كارت گرافيكهاي امروزي در استفاده از پنلهاي مختلف و انجام اسكيل بسيار قوي شدهاند.
اساس كار G-Sync بر دستكاري بازههايي است كه نمايشگر بازهي تاريكي را طي ميكند. اين بازهها را VBLANK يا Vertical Blanking Interval ميگويند. پس از اينكه آخرين خط افقي از يك فريم روي نمايشگر نمايش داده ميشود، يك بازهي تاريكي وجود دارد و پس از آن اولين خط افقي از تصوير بعدي در نمايشگر به تصوير كشيده خواهد شد. نمايشگر در بازهي تاريكي كاملاً استاتيك است و به عبارت ديگر، تصوير فعلي را نمايش ميدهد و هيچ تحركي ندارد. بازهي تاريكي، يادگار دوران مانيتورهاي حجيم CRT است و در LCDهاي امروزي هم وجود دارد؛ گرچه از انديشه متخصصين تكنيكي، وجود آن ضروري نيست. G-Sync با دستكاري VBLANK كاري ميكند كه نمايشگر فريم فعلي را نگه دارد و صبر كند كه كارت گرافيك فريم بعدي را تحويل بدهد.
بنابراين به صورت خلاصه، G-Sync از نمايشگر ميخواهد كه نمايش تصوير فعلي را ادامه دهد تا زماني كه فريم بعدي توسط كارت گرافيك آماده شود و سپس نمايشگر به نمايش آن بپردازد. اين تمديد نمايش تنها با دستكاري بازهي VBLANK به تصوير زير توجه كنيد تا موضوع روشن شود:
در حال حاضر بيشترين زماني كه ميتوان نمايش يك فريم را تمديد كرد، 33.3 ميليثانيه، معادل سرعت 30 هرتز است. اگر فريم بعدي پس از 33.3 ميليثانيه حاضر نشده باشد، ماژول G-Sync به نمايشگر ميگويد كه فريم قبلي را مجدداً ترسيم كند. توجه كنيد كه محدوديت سرعت در حال حاضر 6.94 ميليثانيه معادل 144 هرتز است كه به سريعترين پنل فعلي مربوط ميشود و ربطي به G-Sync ندارد. در آينده ممكن است پنلهايي با سرعت بيشتر عرضه شوند.
ساختار برد G-Sync
در اين برد الكترونيكي از FPGA و 768 مگابايت حافظهي DDR3 استفاده شده است. انويديا مدعي است كه حافظهي موجود روي برد، خيلي بيشتر از حافظهي بخش اسكيلكنندهي نمايشگرها نيست. اگر هم بيشتر باشد، براي تأمين پهناي باند، بالاتر و البته ضروري است. يكي از متخصصدهاي مهم حافظه در برد G-Sync، اين است كه فريم قبلي تصوير را نگه دارد و براي مقايسه با فريم بعدي جهت انجام محاسبات اُوِردرايو، از آن استفاده ميكند.
اولين ماژول G-Sync تنها از DisplayPort 1.2 همراهي ميكند؛ ولي در آيندهي نزديك، HDMI و DVI هم همراهي ميشوند؛ چرا كه محدوديتي در اين رابطه وجود ندارد. برد فعلي از صدا هم همراهي نميكند؛ وليكن انويديا قول داده كه در نسخههاي بعدي صدا هم انتقال داده شود. در واقع صدايي كه از اسپيكرهاي داخلي نمايشگر خارج شود، چندان مطلوب بازيخورها نيست و انويديا به همين علت به انتقال صدا توجه نكرده است. آخرين محدوديت G-sync فعلي، اتصال نمايشگرها از طريق LVDS است. انويديا تصميم گرفته كه در نسخهي بعدي ماژول G-Sync از V-by-One هم همراهي كند. همراهي از eDP هم محدوديتي ندارد.
اثر G-Sync بر سرعت اجرا
تأثير فعالكردن G-Sync روي سرعت اجرا بسيار كم است؛ وليكن صفر نيست. موضوع اين است كه پس از رندرشدن هر يك از فريمها، پردازندهي گرافيكي بايد صبر كند تا وضعيت نمايشگر مطالعه شود. اگر بازهي فعلي VBLANK باشد، اشكالي نيست؛ اما اگر نمايشگر در حال تعويض و نمايش يك فريم باشد، بايد بيشتر صبر كند و سپس شروع به رندركردن فريم بعدي كند.
مدت زمان لازم براي مطالعه اوضاع نمايشگر حدود 1 ميليثانيه است؛ بنابراين با استفاده از G-Sync سرعت اجرا نسبت به حالتي كه V-Sync قديمي را فعال ميكرديم، 3 تا 5 درصد كمتر خواهد بود. اما خبر خوب اين است كه انويديا روي زمان مطالعه كار ميكند و ميخواهد آن را به كلي از بين ببرد!
اولين نمونه از متخصصد عملي G-Sync با يك مانيتور ايسوسي
انويديا براي پيشنمايش تكنولوژي جديد خود، نمايشگر VG248QE ايسوس را انتخاب كرده، يك پنل TN با رفرش ريت (نرخ نوسازي يا فركانس پنل) 144 هرتز كه براي بازيخورها بسيار دوستداشتني است. رزولوشن نمايشگر هم 1080p است و ارزشي بين 250 تا 280 دلار دارد. با اين هزينهي پايين نميتوان انتظار يك پنل IPS با كيفيت داشت كه زاويه ديد و كيفيت رنگها در آن عالي است. اما نگران نباشيد؛ چرا كه G-Sync روي پنلهاي IPS هم به خوبي كار خواهد كرد. حتي ممكن است به زودي پنلهاي 4K با بهرهمندي از تكنولوژي G-Sync در بازار نمايان شوند؛ چرا كه DisplayPort 1.2 كاملاً همراهي شده و به راحتي ميتوان نمايشگري با رزولوشن 4K و فركانس 60 هرتز را از طريق G-Sync هدايت كرد. اما فعلاً كمي زود است و بايد منتظر رونمايي از نمايشگرهاي 2K يا به عبارتي نمايشگرهايي با رزولوشن 2560 در 1440 پيكسل و البته از نوع IPS باشيم.
پس از باز كردن اين نمايشگر، سازوكار سادهي انويديا را شاهد هستيم:
اسپيكرها به جايي وصل نيستند؛ چرا كه فعلاً G-Sync از انتقال صدا همراهي نميكند. به انديشه متخصصين ميرسد كه انويديا براي اين نمايشگر، ابتدا يك برد مدار چاپي تهيه كرده و سپس ماژول G-Sync را روي آن مونتاژ كرده است.
روي برد، 3 ماژول 2 گيگابيتي (250 مگابايت) حافظهي DDR3 مشهود است اما FPGA پشت يك هيتسينك براي خنككاري، پنهان شده است. پس از برداشتن هيتسينك، مشخص ميشود كه FPGA استفاده شده، Altera Arria V GX است.
الزامات استفاده از G-Sync
براي استفاده از G-Sync شرايط كاملاً روشن است. نمايشگر با همراهي از G-Sync و كارت گرافيك بهتر از GTX 650 Ti كه داراي خروجي DisplayPort 1.2 و بالاتر باشد. توجه كنيد بازي بايد به صورت تمامصفحه اجرا شوند؛ چرا كه در غير اينصورت V-Sync جاي G-Sync را ميگيرد. ويندوز 7 يا 8.1 هم الزام آخر است.
نسخهي 331.93 درايور انويديا از قابليت G-Sync همراهي ميكند و در صورتي كه تمام الزامات مهيا شده باشد، روبروي گزينهي نوسازي عمودي يا Vertical sync گزينهاي به نام G-SYNC ديده ميشود. فركانس نمايشگر قابل انتخاب است. براي V-Sync فركانس 60 هرتز پيشنهاد شده؛ وليكن در مورد G-Sync استفاده از 144 هرتز توصيه شده است.
يك مادربورد با چيپست Z87 و يك كارت گرافيك GTX 760 براي آزمودن G-Sync در بازيهاي مختلف انتخاب شده و تنظيمات بازيها به گونهاي انجام شده كه سرعت اجرا در محدودهي بين 30 تا 60 فريم بر ثانيه باشد.
توجه كنيد اگر سرعت اجرا با نرخ نوسازي نمايشگر برابر باشد -مثلاً اعداد 60، 120 يا 144- استفاده از G-Sync نتيجهي خاصي نخواهد داشت. اگر سرعت اجرا كمتر از 30 فريم بر ثانيه باشد هم نمايشگر مجبور است فريمها را تكرار كند و لذا نمايش با وقفه و گير همراه خواهد شد.
مقايسهي ويديويي G-Sync و V-Sync
فلسفهي وجود V-Sync و G-Sync را توضيح داديم. هدف برطرفكردن دو معضل جدي يعني وقفه و بريدگيهاي افقي است. به انديشه متخصصين ميرسد كه G-Sync يك راه حل خوب است؛ اما قبل از مطالعه عملي نميتوان اظهار انديشه متخصصين قطعي كرد.
براي اينكه ببينيد G-Sync در عمل چه قدر مؤثر واقع ميشود به ويديوي زير توجه كنيد. روزولوشن اين ويديو 720p است و بهتر است فايل 36 مگابايتي ويديو را دانلود كرده و به صورت تمامصفحه و با دقت زياد مطالعه كنيد.
ويديو به بازي Bioshock infinite مربوط ميشود. طبعاً اگر V-Sync را نافعال كنيم، بريدگيها ظاهر ميشوند. اما اگر آن را فعال كنيم هم وقفههايي به وجود ميآيد. وقفهها در حالتي كه V-Sync با فركانس 60 هرتز فعال باشد، در برخي صحنهها كاملاً مشخص هستند. بهتر است خودتان قضاوت كنيد:
لينك دانلود ويديو
Assassin's Creed IV
حتي با كارت گرافيك GTX 760 هم ميتوان اين بازي را به صورت روان اجرا كرد. اما اگر V-Sync نافعال شده باشد، بريدگي در 40 درصد بالايي تصوير بسيار زياد و آزاردهنده خواهد بود.
اگر فركانس روي 60 هرتز تنظيم شده باشد و از V-Sync استفاده شود، وقفه در صحنههاي شلوغ كاملاً مشهود است؛ چرا كه سرعت اجرا به 40 تا 51 فريم بر ثانيه افت ميكند. در اين صحنهها با حركت دوربين به اطراف، سرعت اجرا كاملاً متفاوت ميشوند و وقفهها مشخصتر خواهند بود.
با استفاده از G-Sync نتيجه كاملاً متفاوت است؛ هيچ وقفهاي ديده نميشود. سرعت اجراي بين 40 تا 60 فريم بر ثانيه، محدودهي مطلوب G-Sync است و نتيجه بسيار خوب خواهد بود.
Batman: Arkham Origins
باز هم اگر V-Sync نافعال باشد و سرعت اجرا هم خوب باشد، اشكال بريدگي جدي نيست؛ وليكن در برخي بخشهاي بازي بريدگي كاملاً مشخص است. در اين بازي كمتر بريدگي ميبينيم؛ وليكن شدت آن بيشتر است.
با فعال كردن V-Sync هم اثر تغييرات شديد سرعت اجرا كاملاً مشخص است؛ وقفههاي بسيار زيادي در بازي ديده ميشود.
در بازي بتمن، استفاده از G-Sync نتيجهاي بسيار عالي دارد. با توجه به اشكالات بزرگ V-Sync فعال و نافعال، انتظار نميرود كه G-Sync هم خوب و كامل عمل كند؛ اما اينطور نيست. G-Sync اكثر وقفهها را حذف ميكند.
توجه كنيد برخي وقفهها به محدوديت پردازندهي اصلي، ترسيم بافت و غيره مربوط ميشود و نميتوان با G-Sync موضوع را حل كرد؛ چرا كه G-Sync عملاً فرآيند رندر توسط كارت گرافيك و نمايش فريمها را يكنواختتر ميكند. براي حلكردن ساير اشكالات ميتوان از پردازندهي اصلي و كارت گرافيك قويتر استفاده كرد.
Sleeping Dogs
اين بازي كمي سنگينتر است؛ چرا كه سرعت اجرا بين 30 تا 45 فريم بر ثانيه نوسان ميكند. حتي به 28 فريم بر ثانيه هم ميرسد و سؤال مهم اين است كه G-Sync در سرعتهاي كمتر از 30 فريم بر ثانيه، مجبور ميشود كه برخي فريمها را تكرار كند. در اين صورت چه اتفاقي خواهد افتاد؟
اولين تأثير G-Sync كاهش سرعت اجرا از 27-28 به 25-26 است. اثر تكرار فريمها مشخص است؛ پردازندهي گرافيكي مجبور شده كمي بيكار بماند و فريم جديدي رندر نكند و همين موضوع ساده، سرعت اجرا را كاهش داده است. تكرار شدن فريمها هم روانبودن بازي را كمي بدتر كرده و در نهايت به اين نتيجه ميرسيم كه بايد قدرت كارت گرافيك انتخابي كمي بيشتر باشد.
Dota 2 و Starcraft II
در اين دو بازي تقريباً استفاده از G-Sync و V-Sync يك نتيجه دارد؛ هر دو خوب عمل ميكنند؛ چرا كه سرعت اجرا معمولاً 60 فريم بر ثانيه است.
Bioshock Infinite با فركانس 144 هرتز
در اين حالت هم اگر V-Sync فعال باشد، وقفهها بسيار زياد هستند و اگر نافعال باشد، صحنههاي ابتدايي Benchmatk داخل بازي، مملو از بريدگي خواهد بود.
استفاده از G-Sync باز هم مؤثر واقع ميشود و اكثر اشكالات را حل ميكند.
جمعبندي: عملكرد، ارزش و آيندهي G-Sync
G-Sync انويديا يك راه حل سختافزاري براي حلكردن دو اشكال جدي است. در بازيها سرعت اجرا و به عبارتي رندر فريمها توسط كارت گرافيك با سرعت اسكن يا به عبارتي نمايش فريمها در نمايشگر يكسان نيست. در اين صورت اولين اشكال بريدگي خواهد بود. بريدگي زماني رخ ميدهد كه كارت گرافيك نميتواند فريم بعدي را به موقع رندر كرده و تحويل دهد. از اين رو بخشي از فريم قبلي به همراه بخشي از فريم بعدي در يك اسكن نمايشگر نمايش داده ميشوند و بريدگي افقي در مرز دو فريم مشهود است.
اشكال ديگر استفاده از V-Sync است. بريدگي حذف ميشود؛ اما كارت گرافيك بايد براي شروعكردن رندر فريم بعدي، به اسكن نمايشگر توجه كند و صبر كند. همين صبركردن وقفه ايجاد ميكند.
G-Sync زمانبندي اسكن نمايشگر را به گونهاي تغيير ميدهد كه با كاملشدن رندر فريمها توسط كارت گرافيك همزمان باشد. در اين صورت نه وقفهاي اتفاق ميافتد و نه بريدگيها نمايان ميشوند.
در عمل استفاده از G-Sync از آنچه پيشبيني ميشود بسيار جالبتر است؛ چرا كه بازيخورهاي پيسي، در بازيهاي سنگين به رواني اجرا عادت ندارند و وقفه و بريدگي برايشان عادي شده است.
لذا G-Sync در سرعت اجراي بين 40 تا 60 فريم بر ثانيه عملكرد فوقالعادهاي دارد.
در سرعتهاي كمتر از 35 فريم بر ثانيه، G-Sync كارت گرافيك را بيش از پيش معطل ميكند و سرعت اجرا كمي كاهش مييابد. اشكال دوم تكرار فريمها و به عبارتي بروز وقفه است. بنابراين در اين موارد نميتوان روي كمك G-Sync حساب باز كرد.
در سرعتهاي بالاتر از 60 فريم بر ثانيه هم اثر G-Sync كم است. بنابراين اگر يك كارت گرافيك سريع داريد، شايد بهتر باشد از G-Sync صرفانديشه متخصصين كنيد. گرچه در بازيهاي سنگين امروزي، سرعت اجرا نوسان زيادي دارد و گاهي ممكن است چند برابر كمتر شود.
هزينهي برد G-Sync كه اولين بار روي نمايشگر VG248QE ايسوس به كار رفته، حدود 120 دلار است و ارزش نمايشگر ساده را از 280 دلار به 400 دلار افزايش ميدهد. در ادامهي كار هزينهها كاهش مييابد و استفاده از اين برد اضافي در نمايشگرهاي رده اولي كه ارزش بالاتر دارند، اقتصاديتر خواهد شد.
انديشه متخصصين شما در مورد G-Sync، طرز كار و آيندهي آن چيست؟ آيا ممكن است G-Sync هم به عنوان يكي ديگر از خلاقيتهاي انويديا در عرصه گرافيك، در آيندهي نزديك عموميت پيدا كند؟
هم انديشي ها