Weird slowdown

BlitzMax Forums/BlitzMax Programming/Weird slowdown

_JIM(Posted 2009) [#1]
Hi!

I've hit this problem a while ago but right now it has become a serious pain. It seems that drawing in a canvas made with MaxGUI (using basic BMax drawing commands, no fancy stuff) is slow on nVidia graphics cards for some reason.

I've tested on different configurations and I came up with this:

Mobility Radeon HD2600: 100+ fps with 40 props on screen
ATI HD3650: 100+ fps with 100 props on screen
GeForce 8800GS: 30-40 fps with just the grid
GeForce 8600GT: 25-35 fps with just drawing the grid.

Now, looking at those graphics cards, the HD2600 should be far weaker than 8800GS, especially because it's a mobility (laptop) video card.

I haven't had a chance to test this on higher end nVidia cards (9800GX2 broke yesterday). However, it feels absurd to require a high-end card to run something that even Intel GMA 950 handles just fine (60 fps just the grid).

Anyone got any ideas why I might have this slowdown?

Some extra info:
All are "Release" builds.
Tested XP32, Vista64, W7 64.
Drivers are up to date.
I am using an event-based system:
Repeat
PollSystem()
Render()
Forever

I use Flip 1. (tested on 60Hz and 75Hz monitors. Also tried Flip 0. Flip 1 is just smoother without the tearing)

That's as much as I could think of as relevant information. I really need to fix this as the level designers can't use the editor right now (they got nVidia cards).


_JIM(Posted 2009) [#2]
Come on, nobody ever encountered this before?


MGE(Posted 2009) [#3]
I personally would never use MaxGUI for a fast action game. I would code a custom bitmap gui instead.


Brucey(Posted 2009) [#4]
I don't think he is. It appears to be a problem with a level editor.

_JIM, it could be a driver problem.
Have you tried seeing if there's a difference between the OpenGL driver and DirectX?


_JIM(Posted 2009) [#5]
Yes, this is only the level editor. I have tried many driver versions, however I haven't tinkered with the nVidia Control Panel options yet. It could be that "Multiple display performance mode" or other settings could affect it.

I also remember seeing some problems (particular to ATi though) caused by power saving technologies. The video card (or the driver) thought certain applications didn't need to much processing power, so the video card was in it's idle state (lower clocks).

I'll do my best to isolate the problem, but I'm busy working on other features and I have limited access to nVidia cards for the moment.

As for OpenGL/DirectX... I haven't tried DirectX yet. There are a few things that are OpenGL only, but I'll try to take them out and test with DirectX. This might be the key. (which is still weird seeing as nVidia runs OpenGL great and those are not really low-end cards)