[Mesa-dev] [PATCH] loader/dri3: Overhaul dri3_update_num_back
Dieter Nützel
Dieter at nuetzel-hh.de
Sat Aug 27 18:03:14 UTC 2016
Am 25.08.2016 11:09, schrieb Michel Dänzer:
> On 24/08/16 06:35 AM, Eric Anholt wrote:
>> Michel Dänzer <michel at daenzer.net> writes:
>>> On 20/08/16 04:42 AM, Eric Anholt wrote:
>>>> Michel Dänzer <michel at daenzer.net> writes:
>>>>
>>>>> From: Michel Dänzer <michel.daenzer at amd.com>
>>>>>
>>>>> Always use 3 buffers when flipping. With only 2 buffers, we have to
>>>>> wait
>>>>> for a flip to complete (which takes non-0 time even with
>>>>> asynchronous
>>>>> flips) before we can start working on the next frame. We were
>>>>> previously
>>>>> only using 2 buffers for flipping if the X server supports
>>>>> asynchronous
>>>>> flips, even when we're not using asynchronous flips. This could
>>>>> result
>>>>> in bad performance (the referenced bug report is an extreme case,
>>>>> where
>>>>> the inter-frame stalls were preventing the GPU from reaching its
>>>>> maximum
>>>>> clocks).
>>>>>
>>>>> I couldn't measure any performance boost using 4 buffers with
>>>>> flipping.
>>>>> Performance actually seemed to go down slightly, but that might
>>>>> have
>>>>> been just noise.
>>>>>
>>>>> Without flipping, a single back buffer is enough for swap interval
>>>>> 0,
>>>>> but we need to use 2 back buffers when the swap interval is non-0,
>>>>> otherwise we have to wait for the swap interval to pass before we
>>>>> can
>>>>> start working on the next frame. This condition was previously
>>>>> reversed.
>>>>>
>>>>> Cc: "12.0 11.2" <mesa-stable at lists.freedesktop.org>
>>>>> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=97260
>>>>> Signed-off-by: Michel Dänzer <michel.daenzer at amd.com>
>>>>
>>>> Reviewed-by: Eric Anholt <eric at anholt.net>
>>>
>>> Thanks.
Hello Michel,
found this _before_ your commit, but haven't had time, so...
With this patch Blender at least 2.76b flicker horribly with
'User Preferences...' -> 'Window Draw Method: Automatic'
Switching to:
'Window Draw Method: Tripple Buffer'
fix it.
I'll add this to the related bug if you want.
Greetings,
Dieter
More information about the mesa-dev
mailing list