drfrag666 / gzdoom

GZDoom adds an OpenGL renderer to the ZDoom source port.
http://gzdoom.drdteam.org
GNU General Public License v3.0
73 stars 15 forks source link

Significant slowdown when using fullscreen vs. windowed on raspi 3/4 #15

Closed NickZ closed 4 years ago

NickZ commented 4 years ago

On the current branch, I am getting a significant amount amount of slowdown when I choose fullscreen vs. windowed on the raspberry pi 3/4. On the raspi4, using the default settings and with OpenGL renderer, 640x480 windowed will net me around 150fps using the OpenGL renderer. Switching to fullscreen 640x480 will drop that down to ~30fps.

I am using the latest raspbian with the OpenGl drivers enabled, and I'm compiling from source on the raspi4.

I think this might be occurring on other systems, but it's hard to tell because on my other systems LZDoom just runs too fast for me to detect a discernible difference.

drfrag666 commented 4 years ago

Are you referring to g3.3mgw? On windows it's the opposite and fullscreen is faster. Which OpenGL version does your hardware support? Could be something fishy with SDL2. On my linux machine fullscreen sometimes can be very slow in "pure" software mode without OpenGL acceleration. My master branch is much slower using SoftPoly without GL acceleration and i don't know why (that card has GL 1.3 support only). You could try my master branch and report how it runs there but that's based on a modern GZDoom and not 3.3 (has the render cull options activated too tough).

NickZ commented 4 years ago

Yes, It's g3.3mgw. For the raspi3, it's OpenGL ES 2.0; for the raspi 4, its OpenGL ES 3.2. I can't test the master branch unfortunately, because neither raspi supports the OpenGL version it requires.

drfrag666 commented 4 years ago

You can run it using SoftPoly, i fixed it in GZDoom too. But my branch allows lower resolutions. Software is even slower right now but i think i've found what the problem is (truecolor software is the fastest anyway).

NickZ commented 4 years ago

Yes, I had chosen OpenGL to be the default because that's what was giving me the best performance. If we can get truecolor software to be faster, then this wouldn't matter so much.

drfrag666 commented 4 years ago

No, truecolor is faster than paletted for the software renderer in SoftPoly. For the current branch paletted is faster. The old GL2 renderer will be probably faster than SoftPoly 2 (vid_rendermode 4) there.

drfrag666 commented 4 years ago

This is not a bug. Fullscreen being slower is normal but if it's that slow must be due to compiling a Debug build. Switch in CMake to RelWithDebInfo or Release.