Flux on 16/2/2008 at 03:18
So this “massive frame rate drop” issue led me thinking. While making cabot I turned on some static meshes to cast shadows, did a full rebuild and had this ““massive frame rate drop” issue. I thought “well, this is what we’ve been told; I should turn off shadow casting on these static meshes and minimize my shadow casting omni lights.” How wrong I was!
Here in this new version of cabot, I turned on *almost* every static mesh in cabot to shadow casting and turned *all* the lights to shadow casting omni. Did a full rebuild, got into game, frame rates drop. And I killed the editor running in the back, frame rates went back to normal as the released version!
Here is from released version:
Inline Image:
http://images.bittersense.com/released.jpgAnd this one is almost all objects casting shadows:
Inline Image:
http://images.bittersense.com/fullshadows.jpgThe whole level is like this, includes all lights to be shadow casting(even the light’s static meshes themselves so expect some bizarre shadows all over the place) and even static meshes cast shadows that player can’t fully see. Not a single change in frame rates! All the omnis that I placed as ambient lights were turned back to shadow casting, again no change in frame rate.
I even went further, doubled the number of ai in the whole level, added some both new patrolling ones and stationary ones. Only changes in frame rates were 3-4, and those were only in some areas.
During all these, whenever launching from the editor resulted in “ massive frame rate” drop, I simply killed the editor, and frame rates went back to normal.
If you want to check, here is (
http://thief.bittersense.com/cabot4a.unr) unr with many more ais and all casting shadows. I didn’t upload my gamesys, ignore the missing archetype error and launch it from joystick. Because you’ll need to be able to ghost to check all areas in due to ridiculous number of guards in some areas.:p
scumble on 16/2/2008 at 08:03
Don't forget that the editor launches a "slow" debug build of the editor, so final testing should be done on the production build. I know it's possible to use the "send to xbox" command to launch the relevant executable. It may be worth using fraps to get another measure of fps in different areas of the map.
Judith on 16/2/2008 at 09:03
Remember that it is performance while playing the ibt level included in your package, that really counts ;) By the way, see whether writing block resource files with t3mainreleaseversion (through the send to xbox command) gives you better performance in packaged FM, instead of play level command. It worked for me :)
To get your 'send to xbox' command working just create a new text document with notepad in your editor System folder and write something this:
T3MainReleaseVersion.exe AutoPlay
Then rename it to xbreboot.bat - you can now use this command from the editor.
Flux on 16/2/2008 at 14:27
Checked with send to xbox also. Same results. Checked with fraps. Same results. Naturally cooked ibt gives higher frame rates, but that's not my point here.
The released cabot has no shadow casting static meshes and has minimal shadow casting omnis.
One other cabot has all shadow casting meshes and has all lights cast to omni instead of omnishadow.
There is NO single frame rate difference between these two versions in any area.Here, I cooked a new ibt. Garrett loader ready.
(
http://thief.bittersense.com/cabotplus.zip) http://thief.bittersense.com/cabotplus.zip
The difference in frame rates between this one and released cabot is 4-5 only and only in 3 areas. Because in this version, addition to "deadly shadows", we have tons of new ai. Frame rate changes naturally when there is 5 ai in one room or 7-8 in open area. But nothing major, again, totally playable!
Don't expect loot percentage to work in this new zip. And I could only get into mansion and had trouble getting into inner sections due to ridiculous number of ai patrolling around. With a lot of patience and lots of quick saves I could get to upper floors and into main bedroom. Try to ghost main hall now.:p
Anyway, how do you explain this? Newer version of video cards with better shader models? How can a level has the same fps with shadow casting lights on and off???
By the way, my system is gf6800, amd3000 and 2 gig ram. Which is not a high end system at all.
I wonder what we can squeeze out of this engine with gf8800.
Judith on 16/2/2008 at 16:09
In my case the framerate is A LOT worse in open areas. Before it was maximum, with some drops to 38, now it's constant up and down, down mostly. Interior framerate remained the same, i.e. high.
OrbWeaver on 16/2/2008 at 16:29
Quote Posted by Flux
How can a level has the same fps with shadow casting lights on and off???
The simple answer is that shadowcasting lights are not the bottleneck in that particular scene (on your hardware).
Finding out what
is the bottleneck is the entire skill of level optimisation.
Ziemanskye on 16/2/2008 at 17:34
Quote Posted by Flux
By the way, my system is gf6800, amd3000 and 2 gig ram. Which is not a high end system at all.
Now it may not be. But all the game asks for is a 1.5Ghz, 256Mb ram, and gf3ti or above, so you're /way/ over what counts for judging performance around here. I've had the same problem with Judith and Nomad of course, and I can't play quite a few of the TDS FMs because their frame-rates are so low.
Something I've found especially pronounced around ttlg is that most of the people who play missions seem to have much weaker computers compared to the guys who make them, so you can't assume that just because changing something on your system doesn't affect the framerate means it's acceptable for a release: for example, some people couldn't play my Schism map just because I had the vertexpools too high (higher than was needed, by a long way) and their graphics cards didn't have that much memory to spare.
Flux on 16/2/2008 at 19:58
Quote:
shadowcasting lights are not the bottleneck in that particular scene (on your hardware)
I'm talking about the entire level, not in one scene.
Here are more screenshots, both shadows on and off.
(
http://images.bittersense.com/shadows.htm) http://images.bittersense.com/shadows.htm
Nevermind the version Judith tested with tons of ai, check this one in case you're still interested in, I compared it with fraps side by side, the released version and shadow version.
Released one:(
http://thief.bittersense.com/cabotmulti2.zip) http://thief.bittersense.com/cabotmulti2.zip
Exact same version with all shadows on:
(
http://thief.bittersense.com/cabotshadows.zip) http://thief.bittersense.com/cabotshadows.zip
I'm just trying to figure out a correct guideline when to turn on/off shadow casting. The only relevant optimization that I can see the changes in fps is zoning and this (
http://udn.epicgames.com/Two/LevelOptimization.html#Frustum) frustum thing.
After the release of cabot I didn't hear any complaints or crashes regarding performance from players. (maybe people don't care/bother to complain?) So if I release this shadow-on version will it become unplayable on most computers? Because I'm getting still exact same fps all over the place. Not a drop or increase. Or are shadows' pools stored elsewhere in some other ini than the user's.
Beleg Cúthalion on 16/2/2008 at 20:22
Erm...if you don't mind me giving my novice's two cents: I only turn shadows on for the three or four things around the light source, maybe (once I've finished the rest) one or two surfaces ...and use the sheer absence of light as shadow for the player. I don't know if there is much sense in making things more complicated at all. :erg:
Chade on 16/2/2008 at 21:06
Surely if you want to design a level which uses dynamic lighting/shadows to affect game play, then the fact that you might start to get away with using more dynamic shadows is important?