mickelson / sfml-pi

SFML on Linux without X11 using DRM/KMS (or dispmanx on RPi0-3)
Other
62 stars 26 forks source link

Added triple buffering to DRM backend #19

Closed oomek closed 4 years ago

oomek commented 4 years ago

Fixes the performance degradation during page flipping when compared to Dispmanx backend which by default has triple buffering enabled.

joyrider3774 commented 4 years ago

Hey i tested this this increases performance considerably under drm. FPS is a lot higher compared to original code. Probably because attract / sfml-pi can draw already on the next surface. Good work @oomek

joyrider3774 commented 4 years ago

it seems but we are still investigating that there might be problem with this pr when returning from emulators that the screen is not recreated i would not merge yet until fully investigated. The orginal double buffer version (master) does not seem to exhibit this problem

oomek commented 4 years ago

Added missing cleanup calls.

joyrider3774 commented 4 years ago

the missing cleanup calls seems to have fixed the problem with the screen not being recreated after returning from emus. works fine now as far as i can tell and is faster inside attract

calle81 commented 4 years ago

I can confirm that this greatly improves the fps on the RPi4. Thanks Oomek!

mickelson commented 4 years ago

works great here, thanks Oomek!