How are you doing!?
I am trying to boost up the speed of my game, let’s see anyone you can give me some tips…
Let me tell you about my program first…
My program consists of an open large environment with a single complex object in the middle that is animated. (balls in a pool table).
Environment consists of a plane floor, a mountain box, a skybox, three scrolling cloud layers, a fog scrolling plane, and some billboarded trees (static for now, since they are very far away, so illusion is still kept). Skybox Textures are 1024x1024 24-bit and MountainBox Textures are 1024x1024 32-bit.
-24fps| Any camera position from ground standing position that involves having the Complex Object in view.
-36fps| ANY camera position from ground standing position that does NOT involve having the Complex Object in view (That is just the view of the mountains and sky along the fog layer). Billboard trees don’t affect fps at all.
-18fps| Some (not all) camera positions that involve zooming in the complex object very close to the viewer, so that only the Complex object is seen. The object is actually large, so you don’t really have to zoom in that much, but rather get close to it.
-60fps| top view, 3 cloud layers moving and skybox
It looks like the mountainbox is taking a lot of fps, as there is like a 15 fps difference between (skyview) and (mountain & skyview).
Question 1) What can I do to improve performance?. Apart from back face culling, is frustum culling useful if i have only one object?! Should I divide the object in many parts!? Or should I research on “Cell-based occlusion culling”, or on “PVS-based arbitrary geometry occlusion culling” (Just read they existed).
Question 2) My camera works with inverse movement, that is, camara is always fixed at one position and the world moves in opposite direction through model transformation matrixes in a glMatrixPush/Pop nest. Should I use glLookAt and really move the camera?! Which method is recommended for my ‘world’?
Question 3) My far and near planes are 4000 and 100, and my fov is 45. Will changing this values improve my performance?
Thank you so much all in advance!