Horrible performance with blenderplayer, no problems in blender itself.

I’m making a custom 3d menu for my pet educational toy

, but I’ve run into a little snag.

When I run my blend file with the blenderplayer I get nowhere near 60 fps and the profiler shows the rasterizer close to 100%. However running the same blend file within blender I get 60 fps and around 5-8% load on the rasterizer. I did manage to get the same bad performance in Blender when I disabled VBO in the user settings. Does anybody know if blenderplayer uses different settings as blender itself, like disabling VBO? If so is there a way to enable VBO in the standalone player?

What version of Blender are you using? Have you tried a more recent version, like a build from the Blender Buildbot?

Have you disabled Aero in windows?

For me the Standalone runs much faster than the embedded player.

I have not tried any custom builds, just the current official 64-bit downloads. Also I’m not running windows on that machine, or any other compositing desktop environment for that matter, it’s running a very barebones linux version (I don’t think I’d have been able to make the thing work with windows). I’m using an amd A8-3870k with it’s APU and funtoo with the official AMD-drivers. I’ve also tried using the opensource radeon-drivers and saw the exact same thing. I don’t think it’s a problem with the underlying system itself, other than the fact that it’s sufficiently weak to clearly show the difference between the VBO-setting turned on or off.

For now I’ve run out of time for testing, sunday is the earliest I could try custom blender-builds or compiling a dev-build myself. Still I haven’t noticed any mention of this issue in the changelogs, but I may have just overlooked it.

What GPU do you have? Also what resolution do you use when playing the embedded vs the standalone player.

Another thing, for me, the standalone is even faster on linuxmint than windows… :confused: (I have a Nvidia GTX 465)

Could it be a linux/radeon GPU problem?

Is vsync running?

It’s an AMD APU I believe it was a 6550D, and I’ve turned of everything that could slow it down, vsync, tearfree, Catalyst AI you name it. Even windowed the performance of the standalone is worse than the same blendfile close to fullscreen on a fullhd display inside the blender viewport. Thing is if it was the driver, why does it only affect the standalone player? (It’s also not a problem with the catalyst driver, because the opensource radeon with mesa has the same issue) As I said the only way I can get it equally slow while inside Blender is when I turn off VBO, but I don’t have any options with the standalone player for turning it on or off.

BTW I’ve tested the VBO settings on my more powerful desktop pc with an NVIDIA 560Ti and turning off VBO there has no impact on performance as far as I can tell. Which also means I can’t tell if the standalone player has it disabled or enabled with a powerful gpu. To my untrained eye it seems that VBO affects the weaker GPU more than it does GPU’s with power to spare.

Could it be the gpu runs out of memory just when I set it to fullscreen at 1920x1080, while the thin border in the blender-viewport keeps it just below the VRAM-limit?

Couldn’t resist and did another couple of tests and fiddling about with driver-settings and reboots and now the low fps framerate and full-load rasterizer only occur when running the standalone player fullscreen. I can run the standalone player windowed with a larger resolution than 1920x1080 at 60 fps with the rasterizer at 4-5%. I also tried dragging out both the standalone and the blender-viewport beyond the limits of my desktop resolution and I can drag out both windows quite a bit, before framerates start to drop below 60fps. Now I’m really stumped, but at least I know running windowed at full resolution is a possibilty.

Still would be nice to know why running fullscreen at a lower resolution, is causing a drop in framerate. Anyways thank you everyone for the quick responses. Don’t know if I should mark this one solved or rename the title to “Performance issues with blenderplayer at fullscreen”.

That’s exactly the case with me too. As far as I’ve seen, the biggest slowdown in the standalone seems to be the lights. If you have like 7-8 lights the blender itself handles them alright, but the standalone drops down dead.

maybe it has to do with texture scaling and formats?

I hear the best format for BGE is DDS textures,

What is the scale of your textures?

I have a similar problem but not quite the same. The only differnce is mine runs fine in standalone. Mine will fun fine in blender in window that is smaller than the screen and a window that is as large as the screen but not actually maximized . 60 fps +. But if I actually click the maximize button on my blender window. Framerate drops and rasterizer spikes. If I have a non-minimized blender window. even stretched to the edges. Back to 60 fps. Only when I actually click the maximize button does it drop. I wonder if its related. I was thinking it has to so something with the ‘stretching’ of the window when maximized but idk. Just wondering if it could be related.

I’m still working on the 3d-menu and trying to work out usability and layout, so it’s all mostly plain blender materials and shading with only a couple of textures. I’ve got one spotlight , with shadow and specular turned off and one hemi-light, both affecting only a few objects.

@superflip: Does look similar, I was focused on the standalone and may have failed to notice the same issue with the Blender-viewport. Similar to your case viewport or windowed standalone have no performance issues if scaled beyond the desktop resolution. I have no idea what changes when running fullscreen in the blenderplayer, but as in your case framerates drop and rasterizer spikes when I do.