Copy Texture

Today I try to run my panda 3D app on different hardware, switching from nVidia GeForce 6600 (512MB ver) to nVidia Quadro FX 1400 and from single (one-core) processor to 2 - dual-cores processors. For my bad luck, new machine have big troubles with app. After short investigation with pstats I found that “Copy Texture” is taking about 2800ms of time. Can anyone tell me what is the meaning of this, because I see this for the first time and Im little confused. I try running same app on my laptop which have ATI 9600M (64MB ver) and there I dont have this problem (I dont have "Copy Texture" in draw subsection at all). Im using kUbuntu 10.04 with lastest drivers for nVidia. Laptop is running on Windows.

“Copy texture” is the time spent copying the framebuffer to a texture after it is rendered. It is employed for textures that are associated with an offscreen buffer via RTMCopyTexture or RTMCopyRam, or for RTMBindOrCopy on drivers that do not support direct texture binding.

It is possible that on Linux, the nVidia driver does not support texture binding, compelling the texture to be copied on that machine rather than bound to its texture. This could have a small cost, particularly if your offscreen buffers are very numerous or very large (or both).

But I’m surprised to hear that it’s dominating, unless you have RTMCopyRam, which is very very slow. But you would generally have to explicitly enable this.

Edit: hmm, you don’t have texture compression explicitly enabled for these textures, do you? I’ve seen that make the copy-texture process go really slowly, since the driver needs to perform the compression on the CPU. Or maybe mipmapping is the problem, if the driver is unable to generate mipmaps on the GPU?

David

I use RTMBindOrCopy. Is this means - if binding fail, try copy ?

Hmmm, on my terrain I expicitly compress Textures …

edit: same app runs sometime and without problem. Can problem be in hardware(overburned, broken or something else)?

Don’t explicitly compress the textures that you attach to a buffer with RTMBindOrCopy. It doesn’t make sense to compress these textures anyway, and doing so can make things run really really slow.

But other textures are OK. Enabling texture compression globally with “compressed-textures 1” should be OK.

It could certainly be related to your hardware. Maybe it also has to do with the desktop mode or something like that?

David

I made few more basic examples and nothing - everything looks fine. Today some of desktop apps exits with reason that explains I think everything …
I have TV Tuner and I use TVTime app to control it. Few times TVTime exits with reason -> Cannot allocate enough off-screen video memory. I think that Video card have hardware problem, because this problem occurs randomly.