Maximum number/size of textures


I have been testing a game on various machines and had no luck finding out why it was so slow on some machines until just now…

I made a runtime and I was having no trouble until I maximised the window at which point:

  • The window went black
  • After a second or two it refreshed and looked fine but…
  • Nothing happened, my game crashed

I have been worrying about my textures and so removed half of them and my game ran smoothly in full screen (no black window refresh thing).

I added textures one by one until it broke again. There wasn’t a drop in performance until I exceeded 42 textures. My textures are all png so I tried increasing the colour paletes to see if it was file sizes, but this made no difference however it wasn’t down to just number of files either as I can get 45 textures to work depending on which ones I choose.

I can only assume that it is total number of pixels that my card is limiting. Am I able to switch textures in/out of memory to solve this problem; I have 1.2mb of textures working and another 512k I want to use.

Any ideas??

Make sure that your texture resolutions are in powers of 2:

IE: 64x64 128x128 256x256 512x512 etc

If they are not, ketsji will have to resize them in memory, and that brings down performance.

Try using lower resolution textures.

Also, converting all of your non-JPEG textures to the JPEG format will free up some significant space.

If none of that works, you need a new computer.

Yes must be a power of 2 otherwise OpenGL freaks

Can the format be 64x512, etc., as long as both dimensions are power of 2?

Cheers guys. I guess I’m going to have to make some of my textures smaller or something… still no ideas on swapping images in/out using python or something?

jpgs do make for smaller downloads but the have to be decompressed when used by the game engine which slows things down when your game starts… DDS files are a good format but blender doens’t currently support it I’m hoping it will in the next version)… very small file size… steve F you can use 64 x 512 or whatever as long as it does have a power of 2…