B3D slow on Win7?

Blitz3D Forums/Blitz3D Programming/B3D slow on Win7?

Vorderman(Posted 2011) [#1]
I've just got a new laptop, not a high spec one but it does have a proper Radeon 4250 rather than built-in graphics system.

Strangely my Stunt Race game can only get about 25 fps with just the player car, whereas it easily sits at 60fps on my desktop PC with 8 cars. I know my desktop PC is more powerful but I was suprised how slow B3D seems to run.

I just tried Far Cry and it runs silky smooth at high detail settings, so I'm a bit confused. XNA programs also give nice framerates, as does BlitzMax from what I can tell.

Is DX7 just slow on Windows 7? It feels like its running in an emulated mode or something. I tried compat mode for XP but it runs the same.


dawlane(Posted 2011) [#2]
Is DX7 just slow on Windows 7? It feels like its running in an emulated mode or something
Got it in one sort of. As DX7 is old tech and is emulated (or wrapped to DX9/10 can't quite remember) on newer GFX cards. I think it's just a question of what support the drivers implement for DX7.


Rroff(Posted 2011) [#3]
Are you using B3D native sprites?

Depends on a number of factors, with my GTX470 SLI setup B3D runs very very fast normally, but there are some features/techniques you need to avoid that can cause massive slowdowns IIRC B3D spries being one of them, also while nVidia seem fairly good at supporting older stuff not all GPU manufacturers are i.e. some of the new Intel GMA under Windows 7 doesn't run DX7 as quick as they could do.

Last edited 2011


Vorderman(Posted 2011) [#4]
I think i do have 1 or 2 sprites in there, although my particle system is a single surface one. I'll try removing all I can find and see what happens.

I thought the sprites slowdown issue had been solved anyway?


Vorderman(Posted 2011) [#5]
removing the sprites made no difference, but getting rid of the FastExt postFX render upped the framerate by about 50%.

Wonder if FastExt does something that Win7 (or my laptop's graphic card) doesn't like?

Last edited 2011


GfK(Posted 2011) [#6]
Had similar issues a hell of a long time ago with Blitz3D - like, 8 ir 9 years back?

Anyway, I had a helicopter cockpit mesh right up against the camera and the whole thing slowed down to a crawl. Shifted the camera back a bit, problem solved. To reiterate, this was nigh on a decade ago when GPUs were powered by small furry mammals. But since you've got a massive car mesh around the camera I figured I may as well mention it.


xlsior(Posted 2011) [#7]
Did you download and install DX9?

Even though windows 7 already has DX10/DX11, it will run the DX9 and older stuff in compatibility mode. Installing the actual DX9 may speed things up (it will co-exist next to the newer versions)

Also, keep in mind that many of the laptops use a *mobile* version of a GPU chipset, which is often inferior to the desktop chip with the same version number.

The laptop versions often cut corners to reduce power draw and/or heat, which are not nearly as important on a desktop.


Vorderman(Posted 2011) [#8]
yes it is a mobile chipset, i'm just suprised that Far Cry can run smooth at high settings but B3D can't manage my fairly basic game at 50 or 60fps.

I ran the DX9 web installer, so I think it's installed alongside DX11 - is there any way i can check for sure?


xlsior(Posted 2011) [#9]
Not sure, IIRC dxdiag only shows the highest version it can find...


skidracer(Posted 2011) [#10]
You may also want to check for any DirectDraw based commands like Cls, DrawText, DrawLine as well as GrabImage which may cause significant blocking of the graphics pipeline in newer systems.


Rroff(Posted 2011) [#11]
Certain useage of readpixelfast can also be quite slow on Windows 7 (my XP machine is about 40x faster for a specific useage) - if at any point in your code your reading/writing to the front/back buffer directly its probably going to work out faster to copyrect and dump it into a texture/image buffer and manipulate from there - windows 7 seems to have some additional overhead for every single read/write pixel command directly to the front/back buffer.

Last edited 2011


Vorderman(Posted 2011) [#12]
as far as i know the game doesn't use any direct pixel manipulation or calls like DrawLine, grabimage etc..

It is displaying text on-screen via Fasttext, I'll have to check and see if removing that helps the framerate.