<div dir="ltr"><div><div><div><div><div><div><div><div><div>I thought I'd add some notes as a someone who also plays games on Windows with Freesync...<br><br></div><div>I have a 4K monitor with Freesync, the range is 45 to 60 Hz. It might sounds narrow but it allows you<br></div><div>to have a smooth experience even at very high resolutions and settings. If the game can't hit 60 fps<br></div><div>exactly it's still fine, it seems smooth and you don't get tearing.<br></div><div>This is shown in all games as a 60 Hz monitor even though Freesync is enabled.<br></div><div><br>In the Windows gaming world there's a couple of different combinations at play:<br><br></div>1) Vsync disabled.<br></div>The game renders frames simply as fast as it can. If the fps is below 45 I get tearing.<br></div>If it's above 60 I get tearing. Not very good solution.<br><br></div>2) Vsync enabled.<br></div>Fps stays capped to 60, so no tearing on that end. Also 50 fps is smooth and uses Freesync fine.<br>This is AFAIK done behind the scene by the AMD DX11 implementation and not something the game<br></div><div>is involved in.<br></div><div>If fps goes below 45 it starts locking to 30 fps instead, not so nice.<br></div></div><div><br></div>3) Vsync disabled + AMD Frame Rate Target Control (FRTC).<br></div>You set FRTC to 1-2 fps below your max refresh rate. That means that if fps goes below 45 you get<br></div><div>tearing (at 45 Hz refresh or 60?), but at least it renders frames as fast as it can in that case still. This is a<br>solution many people like. However FRTC doesn't work all the time.<br><br></div><div>Regards<br></div><div>//Ernst<br></div></div><div class="gmail_extra"><br><div class="gmail_quote">2016-08-10 9:49 GMT+02:00 Michel Dänzer <span dir="ltr"><<a href="mailto:michel@daenzer.net" target="_blank">michel@daenzer.net</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">On 10/08/16 12:19 PM, Michel Dänzer wrote:<br>
> On 09/08/16 07:44 PM, Christian König wrote:<br>
>> Am 09.08.2016 um 12:03 schrieb Michel Dänzer:<br>
>>> On 09/08/16 06:31 PM, Christian König wrote:<br>
>>>><br>
</span><span class="">>>>> When we add freesync support we just extend vblank_mode with a new enum<br>
>>>> to enable it optionally for existing applications.<br>
>>> "Just"... this will only be possible after the first 3 steps above.<br>
>><br>
>> Checking the present extension again we already got PresentOptionAsync<br>
>> in there as well.<br>
>><br>
>> So the whole thing boils down implementing a new vblank_mode enume which<br>
>> sets PresentOptionAsync and then doing the right thing on the X side<br>
>> with those information.<br>
><br>
> PresentOptionAsync isn't for this. It's for not waiting for the vertical<br>
> blank period before performing a flip, which may result in tearing. This<br>
> distinction still applies with variable refresh rate, so this option<br>
> cannot be re-purposed to distinguish between variable and fixed refresh<br>
> rate.<br>
><br>
><br>
> BTW, the only presentation time we can use for the vblank_mode override<br>
> is "now" / "as soon as possible". So for that case (which is currently<br>
> the case for basically all games, and will likely continue to be for the<br>
> vast majority for a long time), the whole exercise doesn't provide any<br>
> net benefit over using the existing vblank-based presentation<br>
> infrastructure and just force-enabling variable refresh rate somehow.<br>
><br>
> Note that I'm not questioning the value of time-based presentation for<br>
> video playback, and thus the need to implement it. I'm only questioning<br>
> the point of delaying variable refresh rate for games by gating it on<br>
> the time-based presentation infrastructure.<br>
<br>
</span>Also, we still haven't covered how a variable refresh rate mode would<br>
actually get set in this case, assuming it can't be set all the time<br>
(because either there is no compositor, or it doesn't use OpenGL, or it<br>
doesn't work well with variable refresh rate).<br>
<div class="HOEnZb"><div class="h5"><br>
<br>
--<br>
Earthling Michel Dänzer               |               <a href="http://www.amd.com" rel="noreferrer" target="_blank">http://www.amd.com</a><br>
Libre software enthusiast             |             Mesa and X developer<br>
______________________________<wbr>_________________<br>
amd-gfx mailing list<br>
<a href="mailto:amd-gfx@lists.freedesktop.org">amd-gfx@lists.freedesktop.org</a><br>
<a href="https://lists.freedesktop.org/mailman/listinfo/amd-gfx" rel="noreferrer" target="_blank">https://lists.freedesktop.org/<wbr>mailman/listinfo/amd-gfx</a><br>
</div></div></blockquote></div><br></div>