Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Почему в играх без Vsync в полном окне картинка разрезается, а в оконном нет?

Artemiy Patatus Ученик (89), закрыт 1 месяц назад
Почему в играх к примеру майнкрафт, когда я выключаю Vsync то в полноэкранном режиме картинка разрывается а в оконном нет? Если возможно как сделать так что бы картинка не разрывалась в полном окне, мой монитор вроде поддерживает Gsync, я посмотрел в настройках монитора и включил, и в параметрах инвидиа тоже но все равно нет результата.
Лучший ответ
♡$ⴎG@r₱u₷sყ♡ Высший разум (341545) 1 год назад
Это происходит из-за эффекта, называемого "screen tearing". Он возникает, когда частота кадров, генерируемая графическим процессором, не совпадает с частотой обновления экрана. Vsync ограничивает частоту кадров, чтобы она соответствовала частоте обновления экрана, устраняя этот эффект. В оконном режиме Windows автоматически включает Vsync, поэтому разрывов нет.

Если у тебя есть монитор с Gsync, убедись, что он включен не только в настройках монитора, но и в драйверах Nvidia. В настройках Nvidia выбери "Управление 3D-параметрами", затем включи Gsync для полноэкранного и оконного режима. Если проблема не исчезнет, попробуй обновить драйвера видеокарты.
Artemiy PatatusУченик (89) 1 год назад
в настройках стоит Gsync и драйвер последний но все равно не работает
♡$ⴎG@r₱u₷sყ♡ Высший разум (341545) Artemiy Patatus, Попробуй следующее: в настройках Nvidia, в разделе "Управление 3D-параметрами", найди параметр "вертикальная синхронизация" и установи его в значение "Включено". Это может помочь Gsync корректно работать в играх. Если и это не помогает, возможно, проблема связана с самой игрой или с настройками монитора. Проверь, поддерживает ли твой монитор Gsync при текущем разрешении и частоте обновления.
Artemiy PatatusУченик (89) 1 год назад
Так если я включу вертикальную синхронизацию это просто будет Vsync, никакой не Gsync, я зашел и фпс сразу же упал до герцовки монитора и была некая задержка как у ВСинк, а монитор я посмотрел и уверен что работает
♡$ⴎG@r₱u₷sყ♡ Высший разум (341545) Artemiy Patatus, Понимаю, твоя проблема действительно сложная. G-Sync и V-Sync работают вместе, чтобы избежать screen tearing без значительной задержки. Если G-Sync включен, V-Sync просто помогает предотвращать tearing, когда FPS превышает максимальную частоту обновления монитора. Однако, если проблема по-прежнему остается, стоит проверить следующее: 1. Убедись, что монитор подключен к видеокарте через DisplayPort, а не HDMI. G-Sync не всегда работает через HDMI. 2. Попробуй включить или выключить "G-Sync Compatible" в настройках Nvidia. 3. Проверь, активирован ли режим "игры" или "спорта" на твоем мониторе. В некоторых случаях такие режимы могут мешать работе G-Sync.
Artemiy PatatusУченик (89) 1 год назад
ок, спасибо, немного помогли
АІ (Александръ Івановъ) Просветленный (41821) Artemiy Patatus, это бот. Он на ChatGPT ответы генерирует.
Остальные ответы
АІ (Александръ Івановъ) Просветленный (41821) 1 год назад
А теперь нормальный ответ от человека. В полноэкранном режиме картинка с видеокарты выводится напрямую на экран, минуя оконный менеджер. Это снижает задержки и повышает производительность, поскольку системе не надо тратить процессорное время на обработку других окон, но из-за этого открытие любого другого окна сворачивает игру, а не разворачивает его поверх игры.

Что делает оконный менеджер? Управляет наложением окон друг на друга, собственно. Но надо понимать, как он работает: сначала он ожидает от каждой программы обновление кадра внутри её окна, а уже потом "запекает" эти кадры в единую картинку, которую и выводит на экран. То есть, в оконном режиме появляется та самая задержка на обновление кадра, которая и компенсирует разрывы. В полном экране же новый кадр отправляется на экран сразу же, ещё в процессе отрисовки. Отсюда и возникают разрывы.

Конечно, это можно частично попытаться исправить при помощи очереди кадров. Вполне себе хорошее решение, но на практике не очень рабочее. Поэтому придумали множество технологий синхронизации изображения, в том числе и G-sync. По сути, та же очередь, только на уровне прошивки экрана. Если не работает как надо – пробуй обновлять видеодрайвер/прошивку или пиши в поддержку производителя. И убедись, что ты не подключил монитор к системе с мультиплексором (отдельный чип на плате, который управляет выводом изображения от разных видеокарт) – он съедает эффект от G-sync, FreeSync, Adaptive Sync и прочих.

Зная всё это, в голову приходит максимально простое решение – безрамочный режим. Это режим, в котором полноэкранное изображение лишь имитируется за счёт растягивания окна игры на весь экран поверх остальных окон, прямо изнутри оконного менеджера. То есть, и все графические элементы системы могут накладываться поверх окна игры, и разрывы изображения пропадают. Да, немного садится производительность, но всё же преимущества перевешивают. Для Minecraft есть несколько модов на безрамочный режим – Borderless Mining , Borderless Window , Borderless , Fullscreen Windowed и другие. А также сторонние программы ( Borderless Minecraft , RivaTuner), которые могут очень серьёзно поломать игру из-за того, как они инжектятся в процесс. Но и моды не идеальны, от разрывов помогают не всегда.

Сам же я решил проблему довольно творчески – поставил в ноут 144-герцовую матрицу :D
На высокой частоте обновления разрывы практически не заметны, слишком быстро обновляется картинка. До этого включал v-sync на уровне драйвера. Это и задержки не создавало, и разрывы исправляло, но после обновления дров это перестало работать.
Похожие вопросы