Textures performance issue

Hi. I’m currently busy with a game-project by myself. I’m now busy with modelling and texturing abandoned buildings. I tried modelling from this reference photo: http://www.panoramio.com/photo/36166305
And I’m happy with what I have now (It is not done)



This model has 3 textures on it:
-Color texture 10240x10240


-Normal map texture 10240x10240
-Baked AO texture 1024x1024

That sounds like HUGE textures but It’s quite low quality if you look closer to it, especially in first person.
Since I imported this (not finished) building in my game it takes about 1-3 minutes to load and sometimes my computer crash(!!!), before I had this building I just took 10 seconds (and my scene is quite complex). When the game finished loading I have fortunately 59-60 fps but I have lag-spikes too… Are these textures really too big? If I have to use lower resolutions it will be ugly…

I know I can apply the ao-texture on the diffuse texture, but I think since the ao texture isn’t really big, it isn’t really the problem.

Does anyone know how to fix this? because when i want some more buildings the issue will sure become bigger.

My pc specs:

blender 2.73
msi gtx 970 4gb
win 7
8gb ram (yup… is this the problem?)
i7 3.50 ghz.

help appreciated.

GTX 970?:open_mouth: Anyway, the textures are too huge. Better apply more materials with different textures on building, don’t make bigger textures than 2048. if you wait 3 minutes I would wait like half an hour:D And 60 FPS for oyu is 2 FPS for me:P

A little bit of information to give you some perspective on how massive your textures are:

  • Assuming your diffuse texture has no alpha (24bits RGB), then 10240x10240 is around 300MB of data.
  • Your graphics card with a huge 4GB of VRAM can only hold 13 textures of this size.
  • For comparison, a 24bit 1024x1024 diffuse texture only takes about 3MB.
  • The max texture size for shader model 4 (DirectX 10 level) graphics cards is 8192x8192, you need a shader model 5 (Direct X 11 level) graphics card to even load your diffuse texture into VRAM.

As Nines mentioned, use tiling textures to cover large areas and then use something like texture splatting to add variation. You can also blend multiple tiling textures together with varying offsets to add variation.

I’d separate that into layers:

  • Bricks - A tiling texture of 512x512.
  • Paint outlines - A textures of 1024x1024 . Make it tile horizontally, and then use different parts of it to cover different parts of your model.

So this means procedural node textures can provide better detail Vs performance? after x threshold?

Can you use stencil maps for materials too?

I mean: Set up 2 totally different materials on 1 model (both with their own diffuse, normal, spec maps) and then have a stencil map determine which areas of the material are going to be visible/not.

Thanks for all the replies!
I never heard of the use of stencils… :stuck_out_tongue:
I have now 4 textures
-2 diffuse of 700x700 and 640x640
-1 normal of 1024x1024 (very low quality :frowning: )
-stencil texture of 1024x1024
This is what is looks now:


What do you think?
Maybe this is an idea:
-give the building LOD with low textures
-and give the standard/not LOD building a normal map of 2048x2048
-and let the user define in the game settings if the wants high or low resolution textures depending on the users gpu.

Thanks for all the help!

Does anyone know if this idea is a good idea?