DXSURFACE7 sloooooow wtf?

Started by
1 comment, last by BoRReL 22 years, 10 months ago
Hey, I recently found out the following: I set up dx7 in fullscreen with a backbuffer. For my texture I used a LPDIRECTXSURFACE7 and loaded the bitmap into it. For texturing I locked the backbuffer and the texturesurface and copied between them. Result 8fps Ok, it''s for a free directional tunnel on a p233 Now, I replaced the texturesurface with a short[640*480] buffer for my texture (16BPP). Now I copied shorts from the buffer into my locked backbuffer pointer. Result 22fps How can this happen? Is a DXSurface that slow? Or might it be that the surface was in VIDEO memory (dunno) and the read-to-SYS-mem-operation is so slow? Can someone explain? Gr, BoRReL
Advertisement
The only point of keeping surfaces in video memory is to use hardware blitting/texturing etc. on them or if they are the primary surface and the other surfaces in the flipping chain. Almost all video cards ever made only support video->video blitting, and video memory texturing. In software, the speed of writing to , it goes like this:
video->video - dead slow
video->system - faster
system->video - a tiny bit faster than video->system
system->system - fastest


Edited by - furby100 on June 24, 2001 9:37:06 AM
Ahh thank you,

I tried the following:
instead of locking the backbuffer and writing the data I
made a temporary SYSMEM surface instead.
After I was finished, I did a BltFast() to the backbuffer.

This was actually little slower than writing to the backbuffer (in videomem) directly ???

Gr,
BoRReL

This topic is closed to new replies.

Advertisement