When texture packing goes bad (1 Viewer)

bleubleu

Portal Member
February 9, 2007
19
0
43
Home Country
Canada Canada
Hi!

I was investigating some strange slowdowns in some MP screens when I came across the texture packing stuff.

MY QUESTION : Is texture packing really necessary ?

I has the advantage of making all texture sizes powers of two (say 2048x2048) and greatly reduce the number of textures, but in some cases it might be dangerous.

For example, my old laptop here has 32Mb (nvidia geforce go 440) of dedicated graphics memory and the skin I use takes 64Mb of data (4 texturesx2048x2048xR8G8B8A8). Im not even counting the thumbnails (skin is PM3).

In a given screen, if all the images are fetched from the 4 textures, the graphics driver will need to start swapping textures at every frame. I've experienced that with media portal.

SOLUTIONS :

1) Disable texture packing and use rectangle textures which are now commonly supported by gfx HW.

2) Enable texture compression. The code seems to be there, but commented out.

3) Limit the size of packed texture to a lower size could help. (lower than maximum supported size, instead of 4 2Kx2K, I would have 16+ 1Kx1K).

4) Pack images that will be in the same screen together. (Ex: All images references by mymusicnowplaying.xml should be in the same textures as much as possible).

5) Reduce size of the images in my skin (not really an option because it is a lot of trouble...). I tried scaling all the PNGs of the sking by 50% so I get only 1 packed texture and the GUI started running MUCH smoother. No more strange slowdowns.

What do you guys think ?

Mat
 

diehard2

Retired Team Member
  • Premium Supporter
  • April 22, 2006
    518
    28
    Chicago
    Home Country
    United States of America United States of America
    Hi Mat,

    If you succeed in implementing your solutions, and you believe one to be superior, let us know and we'll talk about implementing it.
     

    and-81

    Retired Team Member
  • Premium Supporter
  • March 7, 2005
    2,257
    183
    Melbourne
    Home Country
    Australia Australia
    Hey Mat,

    Maybe you should jump on the IRC and see if you can talk to the developer who knows about this code.

    If you have the expertise to try and implement an alternative solution then I'd urge you to give it a go, as I'm sure it will benefit a lot of people on the lower edge of the hardware requirements.

    1, 2, 3, and 4 are all good ideas to try. I would focus on 2 and 3 to begin with. They both make a lot of sense to me. But again, you probably want to speak to the person who wrote it to begin with. It could be that you'd be repeating attempts that have already been made. On the other hand, the code might have been put together and forgotten about, so you might be able to significantly improve it.

    Give it a go and let us know how it turns out!

    Cheers,
     

    Users who are viewing this thread

    Top Bottom