ATI Catalyst & slow copyrect

Miscellaneous Forums/General Discussion/ATI Catalyst & slow copyrect

I've only recently replaced my aging Nvidia FX card with an ATI x800, a few older games (mainly Medal of Honor) wouldn't work with the bundled drivers so I tried the 5.10 catalyst ones, they had the same problem.

I found 5.11 Betas that work ok, however in B3D CopyRect is take a huge hit if I don't use the the 256 'vram' flag. In my code, not using the vram flag is dropping the frame rate from 360 to 40 fps because of one 512x512 copyrect.

Anyone had such problems with ATI?

Hi Tom,

My new laptop (bought it in June/July this year) has an ATI 9700 Mobility and while I don't have anything else to compare it with in my gauntlet game I found that without flag 256 on my shadow texture which uses copyrect the game is really slow - with it though it runs very fast. Couldn't tell you the exact time difference off hand.

511 release drivers are out now so why are you using the 5.11 beta drivers?

Oh right :)

Will give them a try!

Same, this sucks :S

Sorry, I might be a bit dim here but what's the problem with having to set that particular flag, especially if it yields a large performance increase?

Hm, yes, why aren't you using the vram flag? just curious...

Because textures with the vram flag aren't mipmapped, whether you specify the mipmap flag or not. I think the reasoning behind this was to save on gfx card memory, although mipmapped textures aren't that much bigger.

512x512 res non-mipmapped texture = 1048756 bytes

Mipmapped version = 1398338 bytes

I suppose it's understandable that Blitz3D was made to ignore the mipmap flag when the vram flag was used, at the time 32/64meg cards were common, these days 128meg/256meg are.

I think the mipmap flag should be adhered to even if the vram flag is specified, and just inform the programmer that mipmaps take up an extra 30% or so of the textures memory size. Having the option is best!

I'll ask Skid about it. But in the meantime I dunno what I'm gonna do about this slow copyrect problem... damn annoying it is!

Oh, and this is why I want to use mipmaps, move mouse left/right (should work on all DX7 cards)
http://www.tomspeed.com/realtime_blur.zip

Useful for blurring shadows :)

I think they aren't mipmapped because you would need to generate the mipmaps all the time...

I'm guessing mipmaps are only generated when the texture is created, or possibly when a non-mipmapped texture is copied using copyrect to a mipmapped texture. Either that or the texture is stretch blitted to the submips.

I'll have a look at the mipmap thing next week.

In regards to the slowdown, i would guess

- your AGP bus is misconfigured
- 512x512(pixels)*4(bytes per pixel)*2(read and write)*100(hz) is still a big number (200Meg per second)
- there is a 24 to 32 bit pixel conversion being done due to texture and backbuffer mismatch
- missing out the vram flag is not an option with ATI drivers

Cheers Skid, being able to have a mipmapped vram texture will help a lot!