PDA

Click to See Complete Forum and Search --> : Is Direct Draw slow? (!)


git
Aug 15th, 2001, 03:48 AM
I can't figure this out... I've got a Direct X 7 (D.D.) powered game running at a nice rate on my Duron 800. However, on my Pentium 200, the frame rate is *terrible*. Like 3 FPS.

I've commented out my code, a few features at a time. Now my game only has a couple of graphics routines (it only blits basic isometric floor tiles, not walls, objects, people, interface, etc.). I even temporarily converted all my BMP surface images to 256 colours (they were about 20 megs total before, now they're only about 5 megs).

I've done virtually everything I can do (the game engine is mostly commented out to test the speed), but the frame rate is *not* improving at all. My guess is that the speed problem is from when the backbuffer is flipped to the screen...

My old PC is only a P200, with an old 4 meg 3D card. Does Direct Draw 7 only utilize the processor, NOT the 3D card...? If this is the case, then would switching to Direct X 8 help with the frame rate? My 'real' games which use Direct X 7/Direct 3D run at a nice frame rate, about 20 FPS+, on the P200...so is it only because I'm using Direct Draw 7, which isn't using the 3D card?

I'd appreciate any advice or help on this issue, as it's becoming really annoying!

Thanks,

-Git

pjvdg
Aug 15th, 2001, 04:46 AM
You did load your graphix befor the game was started?

Anyhow I created a game using directx7, gfx were 30MB and I got an 17fps on my p200 (although it worked very slowly with 32MB RAM, I put in an extra 32MB - that makes 64 :) - and everything went smooth)

git
Aug 15th, 2001, 06:26 AM
Yeah, I init. the surfaces before blitting.

I think I've got it...Although I converted to 256 colours, I hadn't put the depth to 8-bit (it was still 24-bit). Now that I've switched to 8-bit, it's now one frame per 80ms! It's not too good, but considering it is going through about 1200 tiles PER FRAME (!), it's pretty damn good. =) Yes, up to 1200 tiles are on-screen per frame, on average. Maybe even more. :)

However...now it isn't blitting transparently in 8-bit. The transparent colour was purple (magenta), with the keys set like this:

Key.high = vbMagenta
Key.low = vbMagenta

Now it doesn't work...how can I reset the colour key in 256 8-bit mode?

Thanks,

-Git

Sastraxi
Aug 15th, 2001, 11:21 AM
I have a static transparent colour in dd, it works fine for me. I just use this:

Const TransCol As Long = 255 + (0 * 256) + (255 * 65536)