This project is read-only.

Anyone got a handle on the number of hulls vs performance?

Jan 15, 2013 at 8:39 AM

I've integrated Krypton into my current game in progress and am very happy with the results visually but unfortunately wasn't able to use the pach of least resistance when it came to reusing my collision detection geometry  to generate shadow hulls without turning my game into a slide show.

I've been looking through the lib and seeing what I can do to optimise the code (there are some fairly high frequency code paths that do so things like call out to tiny methods etc which I can easily inline and also I've used the yield return enumerable idea discussed elsewhere in this discussion list to add culling to my hull list but the performance is still very poor so far once I have hulls in place).

I'm wondering what performance I should be expecting and what is a good target for number of hulls per update I should be aiming for if I'm to get acceptable performance (this would required some extra work in my level editor to define hulls etc. so before I embark on it I wondered what I should be shooting for basically).

Also - should I be grabbing head from the repo instead of using the official release - does head currently have any further optimisation that I've missed out on?



Feb 4, 2013 at 5:14 AM
The official release is stable. Head has some features that the official release does not, but does not have all of the features the stable release does. This is because head is completely re-written.

Shoot for the stars, performance wise.

if you really want to optimise things, get a performance measuring tool. Aimlessly trying to optimise the code is going to make it worse, in almost all caess.

For the Xbox, getting rid of IEnumerables and foreach loops in favor of Lists/arrays and for loops is going to reduce garbage collection by a lot, and the Xbox doesn't have a fast garbage collector. Starting there would be a good idea.

The videos on front page of the site indicate current performance. It's running full high def (might be 1/4th shadow map) at 60+fps. Anything less than that, and you're either not running on a dedicated graphics card, or something is really wrong.