Jump to content
  • Advertisement

Archived

This topic is now archived and is closed to further replies.

CondorWitte

Is CopyRects() much slower than Blt() ???

This topic is 6592 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hello again. I tried using CopyRects() to 'Blt' 2D images to a D3DSurface8 surface, but with ony 1 image of 640x480 (!) , the FPS drops below the VSync. (PIII 500, Matrox Marvel G400 -> this works fine in DX7) I use NULL for all the RECT-parameters, because the Source and Destination surfaces are equal in size. No further parameters are possible... Is this function so very slow or am I doing something wrong? Here's the code: -------------------------------------- start IDirect3DSurface8 *backbuffer=NULL; if (d3ddevice8->GetBackBuffer(0,D3DBACKBUFFER_TYPE_MONO,&backbuffer)==D3D_OK) { d3ddevice8->CopyRects(surface8,NULL,NULL,backbuffer,NULL); } -------------------------------------- end Is this function not using hardware acceleration? Is the Matrox driver not yet suitable for DX8? Since all the stretch- ,colorkey- and format conversion-funtionality is not (yet) implemented, the copying oughtta be at least as fast as in DX7. Any info on this subject would be more than welcome! Greetings, CondorWitte. Edited by - CondorWitte on 11/24/00 7:15:29 PM

Share this post


Link to post
Share on other sites
Advertisement
ok, well the way i understand it (which ofcourse could be completely wrong) CopyRects is NOT hardware accelerated like Blit was in dx7.

Reading the sdk docs it seems to suggest thay copy rects does a straight forward memcopy operation from system memory.

Maybe Wrong though so if i am i am sorry

Share this post


Link to post
Share on other sites
quote:
Original post by Gazza

ok, well the way i understand it (which ofcourse could be completely wrong) CopyRects is NOT hardware accelerated like Blit was in dx7.

Reading the sdk docs it seems to suggest thay copy rects does a straight forward memcopy operation from system memory.

Maybe Wrong though so if i am i am sorry


Umm, I''m not 100% sure on this either, but if you look, CopyRects() is an interface on an IDirect3DDevice8. I think if the device supports it, the device will do a hardware accelerated blit. (Its kind of like FastBlt with DirectX 7. Fastblt would use hardware accelerated IF it was availible.)

I think the device determines whether both surfaces are within its accerlation abilities (ie both surfaces are in video memory) then does an accelerated blit if it can.

DmGoober

Share this post


Link to post
Share on other sites
I''ve got a G400 and when I run the DirectX Test it reports that the drivers for the graphics card are not compatible. Installing the lastest (6.????) still does not help since they were wrote before DX8 came out. I''m hoping the next update will include the correct DX compatible / certified DX8 drivers.

When I find my code in tons of trouble,
Friends and colleages come to me,
Speaking words of wisdom:
"Write in C."

Share this post


Link to post
Share on other sites
This is off topic but my Geforce2 doesn''t support the bumpmap stuff (from the demos) and I''ve got the latest drivers. I think there was some other stuff it didn''t support either

Share this post


Link to post
Share on other sites
Thanx a lot for your replies.

I will assume the following until the next Matrox drivers will be released:

- CopyRects() will use hardware accelerated functions if they are available, BUT the Matrox driver does not support this yet. Conclusion: I won''t rely on the DX8 engine solely. This would eliminate decent framerates on Matrox -and therefore probably on many- gfx cards).

- If the next drivers are available and any info regarding the subject is new, I''ll post the info here, and reconsider moving to full DX8 support ;o)

Greetings, and thanx again, CondorWitte.

Share this post


Link to post
Share on other sites

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!