Page 1 of 1

A FillRect() bug?

PostPosted: May 26, 2003 @ 8:00am
by efortier
Hi,

I just noticed something weird. The minimal sample debug windowed version fills the screen with RGB(128,128,128) and write some text. It works as it should.

However the release version in full-screen does not fill the screen with grey. It stays black. The text is properly written, but no grey background.

I tried both the compiled version in the gapidraw distribution file and to recompile the source, no change.

I then tried the MFC demo and here is the screen that I got from the release version:



This is again the exec from the GD201d release.

Is it possible that there's a problem with FillRect()? I just checked but it doesn't return any error code.

--Eric

PostPosted: May 26, 2003 @ 9:35am
by Johan
Hi Eric,

Wow, that's one slow graphics card.. 9 ms for 50 sprites in the MFC demo (!).. It's 3 ms on my machine with a slow graphics card built-in on the motherboard... Something is apparantly not correct here..

What gfx card are you using? What DirectX driver? How many MB of video memory? This is apparantly an issue and should be fixed... Thanks!

PostPosted: May 26, 2003 @ 11:19am
by efortier

PostPosted: May 26, 2003 @ 12:48pm
by Johan

PostPosted: May 26, 2003 @ 4:48pm
by Johan

PostPosted: May 26, 2003 @ 7:59pm
by efortier

PostPosted: May 26, 2003 @ 8:00pm
by efortier

PostPosted: May 28, 2003 @ 3:43am
by LBt1st
Hello! I'm Kevin Reems (the guy who wrote BltTest). About a week ago I replaced my Radeon with a GeForce4Ti4800. I was shocked when I fired up my current project only to see that four year old bug still exists even in the beast I just spent $175 on.
Needless to say I started working on a workaround and discovered what you already have.. the issue only happens when the blt is to a surface in video memory.
Obviously you'd want your primary or backbuffer(s) in video memory so the solution I've come up with is to do two blts.
The first to a surface in system memory. This is when you do your scaling, mirroring etc.
Then you blt That image to your destination in video memory (using BltFast if you'd like).

Last night I got bored and wondered if anyone else has their nuts in a vice due to this issue and stumbled on http://www.gapidraw.com/gf2/ which is a page I wrote back when GeForce2's were considered badass. So I've been looking into this site and think you guys really got something cool going on here.

I figured if someone took the time to host this page then there must be others looking for a fix or at least an explination. No doubt there's people who are new to programming and think their graphics look like ass because of something wrong with their code.

Without furthor ado, I've released BltTest2.

http://members.cox.net/kreems/dev/BltTest2.zip

This is a cleaned up version of BltTest1. It also features the workaround. The source code is included as are VisualC project files. It's kept as simple as possible. I don't think Borland users should have trouble getting the source to compile.

Please feel free to distribute this file.
I appreciate that the webmaster at gapidraw left my page unedited but if you wish to update the links or add a link to BltTest2 that's fine by me.

I don't currently have a domain so my addresses will probably change within a year. My current e-mail is kreems@cox.net if anyone has questions or comments.

-LBt1st

PostPosted: May 28, 2003 @ 5:29am
by efortier

PostPosted: May 28, 2003 @ 10:20am
by Johan

PostPosted: May 30, 2003 @ 9:01am
by LBt1st

PostPosted: May 30, 2003 @ 1:54pm
by Johan

PostPosted: May 30, 2003 @ 8:02pm
by efortier