GPU Latency 91% - 7.8 fps | help!

Hi guys, I’m doing a level test in BGE. I dont understand why my framerate is 7.8 fps and my GPU Latency at 91% when all other things are 3-4 %. Even if I reduce clipping camera to 5 unit, I remove all the light, I disable in Render -> Shader “shaders”, “shadow”, “ramps”, “node” and “extra texture”.
I model in lowpoly.
Almost all lights are instances but if i remove all of theme the game is slow anyway.

I’ve read this.

I have a GeForce Gtx 690 and a Quadro K 2000 (I don’t know which card choose BGE and how setting the GeForce) on Ubuntu 14.04.

I’m using Blender 2.75a

Help me to continue to believe in BGE!

The percentages are relative. If one aspect uses 93%, the others can only sum to 7%. However, for a great card, that’s an abysmal framerate. I’m not even sure that the other card (Quadro K 2000) should be that bad either. It seems that something else is at play. Could you upload a file?

how high is your amount of vertices?

Do you have open-source drivers installed or NVIDIA binary. Have you noticed you have billions of spot lights which each(unless oyu turn off) uses spot light. Your textures looks also ultra-high res. If you use multiple 8K or 16K instead of 512 stencils and 1024 size tiled textures, it will eat all your V-RAM. Even for such high card(incredibly high).

Ok, I reduce the texture size and I pack all into this .blend

I have NVIDIA drivers

50,390 vertices (too much?)

Anothe question: in your opinion, what is the best approach in level like this, a corridor (not open world, obviously); having a module with many instance, with the result that we have more vertices, or just one mesh, the whole corridor?

More instances so that occlusion culling works fine. I can’t open the .blend, but if 50K vertices are all in one mesh, it may cause problems and V-RAM may become too less for that action.

Ok. Now I bake all with cycles. I want to do a good job! :slight_smile:
In this case the best workflow for increase framerate is to have a texture 512 or 1024 for the door, a texture for the floor, a texture for the wall1, wall 2… or a 2048 pixel texture for all the objects?

And it’s better to have just one mesh for the entire module or a mesh for door, a mesh for floor…and so on…?

(thank you all, expecially adriansnetlis :wink: )

So - use seperate models for door, floor and walls so that Occlusion Culling and Furstum Culling can ignore theese objects which you don’t see and stop rendering them. Also - I would rather use multiple textures, but I don’t know about their performance affect. However - you can easily use one small texture and tile it if you have a constant surface(planks floor, bricks wall). You just need tilbeable textures. To blend between 2 tileable textures smoothly be sure to use stencil maps(Google for tutorials if oyu don’t know how to use them) and they’ll run fine. Never add too much spot lights with shadows because rendering one 512x512 shadow map is like rendering 256x256 screen or something like that(you render one of theese buffers - depth buffer, but not color buffer or others so it is not like rendering 512 still), and having 16 spot lights each 512 size is similar to rendering 1024x1024 screen of game - like running 2 games at once in one game. This can slow down drasticly so be careful with too much shadowing objects. Variance shadow maps samples through the texture that gets rendered real time so it affects speed almost like there would be another one rendered texture and this means that with variance shadow maps(again the example with 16 512x512 spotlights) it acts performance like running 2 games at 1080p at once(although just one is being run). Try baking as much as possible, because if you have a constant scene(not much moving objects and stuff) baked lighting and reflection maps can even improve the appearance.
Normals vs polys: You should use normalmaps as much as possible to replace polygons. If you setup normalmap to reduce polygons as much as possible to still keep object appearance, but the object is still very high poly, you can try using parallax node so that you have 3D effect on 2D surface(1 textured polygon).
That’s all I can say you for now.

Oook! I’m working on baking like as if there were no tomorrow!! And just so, with out any other optimization like culling etc… it’s super fast!!<br><br>(Now remain the strange thing that you can’t load my .blend)<br>

I’ve not gotten far with texturing nor do I have much to add but from I’d learned in unity forum, 20 materials = 20 draw calls, 20 textures on 1 single material still requires 20 draw calls, I believe blender works similarly

A texture atlas will help performance by reducing draw calls in general but if you packed too many things onto 1 single atlas then there will be some trade off in quality, although you could increase the texture’s to higher resolution to even things out but that will again affect your performance, so balance is the key

1920x1080 60 fps! After one day baking!! Cool!


Next some logic bricks! :wink:

It looks very nice!