All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Ernst Sjöstrand" <ernstp-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
To: "Michel Dänzer" <michel-otUistvHUpPR7s880joybQ@public.gmane.org>
Cc: "Christian König"
	<deathsimple-ANTagKRnAhcb1SvskN2V4Q@public.gmane.org>,
	"Dave Airlie" <airlied-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
	"amd-gfx mailing list"
	<amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org>,
	"Hawking Zhang" <Hawking.Zhang-5C7GfCeVMHo@public.gmane.org>
Subject: Re: [PATCH] Add freesync ioctl interface
Date: Wed, 10 Aug 2016 10:25:25 +0200	[thread overview]
Message-ID: <CAD=4a=U+p+Aza+z-hj03HNrOPp9hC1r=nV0Aw1UjzyRBLxm1yg@mail.gmail.com> (raw)
In-Reply-To: <75f1d134-b1f4-c24f-be3f-a886c95e5ced-otUistvHUpPR7s880joybQ@public.gmane.org>


[-- Attachment #1.1: Type: text/plain, Size: 3896 bytes --]

I thought I'd add some notes as a someone who also plays games on Windows
with Freesync...

I have a 4K monitor with Freesync, the range is 45 to 60 Hz. It might
sounds narrow but it allows you
to have a smooth experience even at very high resolutions and settings. If
the game can't hit 60 fps
exactly it's still fine, it seems smooth and you don't get tearing.
This is shown in all games as a 60 Hz monitor even though Freesync is
enabled.

In the Windows gaming world there's a couple of different combinations at
play:

1) Vsync disabled.
The game renders frames simply as fast as it can. If the fps is below 45 I
get tearing.
If it's above 60 I get tearing. Not very good solution.

2) Vsync enabled.
Fps stays capped to 60, so no tearing on that end. Also 50 fps is smooth
and uses Freesync fine.
This is AFAIK done behind the scene by the AMD DX11 implementation and not
something the game
is involved in.
If fps goes below 45 it starts locking to 30 fps instead, not so nice.

3) Vsync disabled + AMD Frame Rate Target Control (FRTC).
You set FRTC to 1-2 fps below your max refresh rate. That means that if fps
goes below 45 you get
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
solution many people like. However FRTC doesn't work all the time.

Regards
//Ernst

2016-08-10 9:49 GMT+02:00 Michel Dänzer <michel-otUistvHUpPR7s880joybQ@public.gmane.org>:

> On 10/08/16 12:19 PM, Michel Dänzer wrote:
> > On 09/08/16 07:44 PM, Christian König wrote:
> >> Am 09.08.2016 um 12:03 schrieb Michel Dänzer:
> >>> On 09/08/16 06:31 PM, Christian König wrote:
> >>>>
> >>>> When we add freesync support we just extend vblank_mode with a new
> enum
> >>>> to enable it optionally for existing applications.
> >>> "Just"... this will only be possible after the first 3 steps above.
> >>
> >> Checking the present extension again we already got PresentOptionAsync
> >> in there as well.
> >>
> >> So the whole thing boils down implementing a new vblank_mode enume which
> >> sets PresentOptionAsync and then doing the right thing on the X side
> >> with those information.
> >
> > PresentOptionAsync isn't for this. It's for not waiting for the vertical
> > blank period before performing a flip, which may result in tearing. This
> > distinction still applies with variable refresh rate, so this option
> > cannot be re-purposed to distinguish between variable and fixed refresh
> > rate.
> >
> >
> > BTW, the only presentation time we can use for the vblank_mode override
> > is "now" / "as soon as possible". So for that case (which is currently
> > the case for basically all games, and will likely continue to be for the
> > vast majority for a long time), the whole exercise doesn't provide any
> > net benefit over using the existing vblank-based presentation
> > infrastructure and just force-enabling variable refresh rate somehow.
> >
> > Note that I'm not questioning the value of time-based presentation for
> > video playback, and thus the need to implement it. I'm only questioning
> > the point of delaying variable refresh rate for games by gating it on
> > the time-based presentation infrastructure.
>
> Also, we still haven't covered how a variable refresh rate mode would
> actually get set in this case, assuming it can't be set all the time
> (because either there is no compositor, or it doesn't use OpenGL, or it
> doesn't work well with variable refresh rate).
>
>
> --
> Earthling Michel Dänzer               |               http://www.amd.com
> Libre software enthusiast             |             Mesa and X developer
> _______________________________________________
> amd-gfx mailing list
> amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org
> https://lists.freedesktop.org/mailman/listinfo/amd-gfx
>

[-- Attachment #1.2: Type: text/html, Size: 5180 bytes --]

[-- Attachment #2: Type: text/plain, Size: 154 bytes --]

_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

  parent reply	other threads:[~2016-08-10  8:25 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-08-02  2:26 [PATCH] Add freesync ioctl interface Hawking Zhang
     [not found] ` <1470104760-30612-1-git-send-email-Hawking.Zhang-5C7GfCeVMHo@public.gmane.org>
2016-08-02  3:10   ` Michel Dänzer
     [not found]     ` <11f584d2-7d40-4318-7725-672816b9cd9c-otUistvHUpPR7s880joybQ@public.gmane.org>
2016-08-02  3:12       ` Zhang, Hawking
     [not found]         ` <BN6PR12MB120484B42FE46271D494A73EFC050-/b2+HYfkarSdTuMsQheahAdYzm3356FpvxpqHgZTriW3zl9H0oFU5g@public.gmane.org>
2016-08-02  3:32           ` Michel Dänzer
     [not found]             ` <09948c72-7214-5863-5af8-a60dc481371c-otUistvHUpPR7s880joybQ@public.gmane.org>
2016-08-02  4:14               ` Zhang, Hawking
     [not found]                 ` <BN6PR12MB1204C7FDE82DB11764D57AC3FC050-/b2+HYfkarSdTuMsQheahAdYzm3356FpvxpqHgZTriW3zl9H0oFU5g@public.gmane.org>
2016-08-02 13:54                   ` Deucher, Alexander
2016-08-02  3:23       ` Zhang, Hawking
2016-08-03  1:04   ` Dave Airlie
     [not found]     ` <CAPM=9twBgjLJNZ4F5xzoAk6zw-8=7ck7xfTnQOczr1TVNLnMTQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2016-08-03 11:16       ` Christian König
2016-08-04  6:41       ` Michel Dänzer
     [not found]         ` <918642dc-f72c-5403-cf38-eead279d4a97-otUistvHUpPR7s880joybQ@public.gmane.org>
2016-08-04  8:22           ` Christian König
     [not found]             ` <618bb6d0-bca5-e709-227c-08c99bd6843e-ANTagKRnAhcb1SvskN2V4Q@public.gmane.org>
2016-08-08  7:43               ` Michel Dänzer
     [not found]                 ` <a2e669ae-88a3-4734-3e7f-5aceccfc43d7-otUistvHUpPR7s880joybQ@public.gmane.org>
2016-08-08  9:55                   ` Christian König
     [not found]                     ` <1c54f1c3-130f-f858-e08b-14d70d17817d-ANTagKRnAhcb1SvskN2V4Q@public.gmane.org>
2016-08-09  2:44                       ` Michel Dänzer
     [not found]                         ` <7b758b9a-7ee3-7809-4e23-76828ee23a0c-otUistvHUpPR7s880joybQ@public.gmane.org>
2016-08-09  8:12                           ` Christian König
     [not found]                             ` <ad9f2301-1d4c-388e-f3c2-d12872f7940a-ANTagKRnAhcb1SvskN2V4Q@public.gmane.org>
2016-08-09  8:27                               ` Michel Dänzer
     [not found]                                 ` <cf663a26-afd2-0878-2822-fe375905fbfc-otUistvHUpPR7s880joybQ@public.gmane.org>
2016-08-09  9:31                                   ` Christian König
     [not found]                                     ` <7ffe528b-d207-3948-a850-a289bcc76c43-ANTagKRnAhcb1SvskN2V4Q@public.gmane.org>
2016-08-09 10:03                                       ` Michel Dänzer
     [not found]                                         ` <7bdf1ec7-d257-9855-2f24-21f86efa459f-otUistvHUpPR7s880joybQ@public.gmane.org>
2016-08-09 10:44                                           ` Christian König
     [not found]                                             ` <0919aff9-cccd-ba2a-2077-3dbd2bea769f-ANTagKRnAhcb1SvskN2V4Q@public.gmane.org>
2016-08-10  3:19                                               ` Michel Dänzer
     [not found]                                                 ` <142d748c-11be-e454-551f-e9098a53a848-otUistvHUpPR7s880joybQ@public.gmane.org>
2016-08-10  7:49                                                   ` Michel Dänzer
     [not found]                                                     ` <75f1d134-b1f4-c24f-be3f-a886c95e5ced-otUistvHUpPR7s880joybQ@public.gmane.org>
2016-08-10  8:25                                                       ` Ernst Sjöstrand [this message]
     [not found]                                                         ` <CAD=4a=U+p+Aza+z-hj03HNrOPp9hC1r=nV0Aw1UjzyRBLxm1yg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2016-08-10 21:22                                                           ` Deucher, Alexander
2016-08-10 10:02                                                   ` Christian König

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAD=4a=U+p+Aza+z-hj03HNrOPp9hC1r=nV0Aw1UjzyRBLxm1yg@mail.gmail.com' \
    --to=ernstp-re5jqeeqqe8avxtiumwx3w@public.gmane.org \
    --cc=Hawking.Zhang-5C7GfCeVMHo@public.gmane.org \
    --cc=airlied-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
    --cc=amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org \
    --cc=deathsimple-ANTagKRnAhcb1SvskN2V4Q@public.gmane.org \
    --cc=michel-otUistvHUpPR7s880joybQ@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.