Jump to content
  • Advertisement

Archived

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

Gunner

PowerDraw Performance

This topic is 6693 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

Hi, Is PowerDraw supppose to be faster than DelphiX''s DrawAlpha ? Cuz in my tests it''s not. They''re both dog slow. Test system: P2 350, 128 megs ram, GeForce. the following code gives me 13fps on my system using PowerDraw: And using DelphiX''s DrawAlpha i get 14fps.. still dog slow, but a tad faster than Powerdraw. // PowerDraw Start dxdraw1.surface.fill(0); imagelist1.items[0].Draw(dxdraw1.surface,0,0,0); Graph.Lock(DXDraw1.Surface); Graph.DrawBlend(ImageList1.Items[1],0,100,0,127); Graph.DrawBlend(ImageList1.Items[1],0,200,0,127); Graph.DrawBlend(ImageList1.Items[1],0,300,0,127); Graph.Unlock; dxdraw1.Flip; form1.caption:=inttostr(DXTimer1.framerate); // PowerDraw End // DelphiX Draw Alpha Start dxdraw1.surface.fill(0); imagelist1.items[0].Draw(dxdraw1.surface,0,0,0); imagelist1.items[1].DrawAlpha(dxdraw1.surface,rect(0,0,384,64),0,127); imagelist1.items[1].DrawAlpha(dxdraw1.surface,rect(0,0+200,384,64+200),0,127); imagelist1.items[1].DrawAlpha(dxdraw1.surface,rect(0,0+300,384,64+300),0,127); dxdraw1.Flip; form1.caption:=inttostr(DXTimer1.framerate); // DelphiX Draw Alpha End Power draw is faster if you do 1 Blend only, add 2 more and it takes a massive nose dive in the fps deparment. Either solution is still way too slow to be usefull in games. I guess we''ll have to wait for DirectX8 with hardware alpha blends. Gunner.

Share this post


Link to post
Share on other sites
Advertisement
First of all my method might be slower because I do clipping (DelphiX doesn''t). Still, the main slow down in the routine is MULTIPLICATION. Try using DrawHalfBlend instead. I thought about optimizing the Blend routine, just got no use of that - it still be inadequate for wide use. You still can use routines with small images, etc, but if you want something big - too slow. You just can''t draw few thousand pixels doing any special effects and wanting 60 fps!

Also, I would not like to receive any critics accourding speed of Bilinear Rotate routine (''cause I think lot of ppl will start yelling at me because of that). This routine is BILINEAR which does rotating very smooth. There, I need to do clipping for EVERY PIXEL ("If" with 4 conditions) and then BLEND 8 pixels and save result to destination. It''s pretty fast thought - tried drawing 4 images on AMD-k6 200Mhz and it was still 30 FPS (btw same result when I tried drawing same images with DrawRotate DelphiX routine). Drawing 16 images on my P3 733mhz still gives me 85 FPS (vsync on). Still, this routine is supposed to be more than 25% slower than DelphiX routine (if not 150% on some machines).

Share this post


Link to post
Share on other sites
I guess my expectations for software blends are too high.
Again, microsoft better not screw up this time around and enable 2d blending in hardware for version 8 or i''m going to be major pissed off !

I know it''s enabled it the dx8 beta ( don''t quote me on that), soo it better be feature locked or I''ll switch to OpenGL and won''t look back.

Gunner.

Share this post


Link to post
Share on other sites
Yeah, it''s kinda pissing me off when I got 3D accelerator card on every computer and no one can do 2D hardware blending ,etc!

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.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!