Jump to content
  • Advertisement

Archived

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

dimonic

The *fastest* way to do Blit.

This topic is 6937 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. This is my first post here. I'am in process of developing the pure 2D engine. My problem is: I can't find the right(mean the fastest) way to do blits. Should I use DirectX BitBlt, or my own asm routines or combine them : for example draw 1 image with graphics card(big) and the other one(big) with CPU concurrently(clipping should be used here)? Should I forget the use of software blitting because it is 10 times slower compared with the modern hardware blitting? Should I use rect clipping or don't bother with it - maybe the graph CPU is so fast that it is faster to simply redraw all images according their Z position and don't bother doing clipping in software? Should I use software alpha blending or use Direct3D funcs to do blend? Thanks! -Dimonic- Edited by - Dimonic on 4/25/00 8:56:36 AM

Share this post


Link to post
Share on other sites
Advertisement
I suggest you look at this post. Basically the same question.

http://www.gamedev.net/community/forums/topic.asp?topic_id=12442&forum_id=11&Topic_Title=Optimization+Question&forum_title=General+and+Game+Programming+Discussion&M=False&S=True


Mike

Share this post


Link to post
Share on other sites
Yes, Mike, I forgot about the compiled sprites, but they have some limitations however - you can not draw
some part of the sprite for example - well maybe can, if to
modify code on a fly.

Also you can not align properly with compiled sprites unless you have 4(8) copies of the same bitmap.

And you can not take advantage of the hardware blitting with them.

So for most tasks hybrid RLE is the best.
For most, not all.

But what concerns me most is that hardware blitting could
do much faster than any software one.

With my card - ET6000 - software blitting and hardware
working in parellel is the best solution.
Hardware blitting has a big overhead - it takes many CPU cycles to draw one pixel with it.
On ET6000 hardware blitting beats sofware when the size of the image is more than 1024 bytes.
But it's only ET6000 and I guess that the last generation
video cards do much, much better.

Does anyone put some tests on it - sofware vs hardware 2D blitting?

And is it faster to use Direct3D to blit sprites(through triangles)?


Thanks!

-Dimonic-

Edited by - Dimonic on 4/25/00 11:53:05 AM

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!