SDL1 slow and with touchscreen problems when full screen.

Hello all,

Using SDL 1.2.15 on all machines.

I have just got a ThinkPad X380 Yoga, 8tth generation, integrated Intel graphics. My game runs slowly (about 70 FPS) and touch events appear in the wrong place when running the game full screen.

Everything works fine running in a window, I get 300FPS and the touch screen works perfectly.

Full screen works no problem on my other computers, a 12th gen Intel PC and a MacBook Pro 2015.

The Yoga is my only machine with a touchscreen though.

So I have two problems, one is the slow speed and the second issue is touch events appearing in the wrong place. Both of these problems only happen full screen, there are no issues running a window.

Anybody have any thoughts as to what could be the problem here? I’ve even run this game on a RPi under RISC OS and it’s OK, slow of course, but nothing I wouldn’t expect being as the RPi is very slow compared to any of my other computers.

Thanks

Garry

Solved the touchscreen issue by commenting out this:

SDL_ShowCursor(SDL_DISABLE);

Still running slow full screen though.

What window size, screen resolution, and virtual pixel density you use? When fullscreen has substantially more pixels than the window, it will take more processing power to render a fullscreen frame.

1280x720 on all machines, same for full screen as for windowed.

I’ve tried setting the Yoga to use 1280x720 on an external display too, same result.

My PC has a QHD screen, but I still run the game at 1280x720.

Full screen runs fine on my PC and MacBook (and RPi), it’s just this Yoga laptop where it runs at 70 FPS full screen, but 300 FPS in a window of the same pixel size.

Just in case anybody else runs into this, I changed bits per pixel on the main surface to 32 and now the game runs at about 300 FPS full screen, which is basically what I’d expect from an 8th gen Intel based on how the game runs on 4th gen and 12th gen, somewhere in the middle of those two.