Birds optimization

Forgive me if this post is a bit more technical that usual, but I am a bit ecstatic :-)

I was converting 3D model drawing to use single-weight SkinnedEffect to avoid multiple draw calls per model, and I have just glimpsed the profiler output. It worked! The time to submit 20 models to the GPU went down from 9ms to 3.5ms, and GPU processing time also went down by good 12 ms. The latter bit is actually surprising, there is more to do for the GPU the new system, albeit only slightly because I’m only using 1 weight. Somehow, number of draw calls also affects GPU.

Anyway, this was the most complex optimization I wanted to do, and I was a bit afraid how it will go.

Next I need to cull offscreen models and throttle animation rate on far away ones. That will be much easier, and the results are trivial to predict: it will make it faster.

I may now go and watch Apocalypse Now. Earned it.

Almost forgot to say, you can now skip stones on water in Survivalcraft. Funky :-)



  1. jriot10
    Posted January 21, 2012 at 00:02 | Permalink | Reply

    My head blew up

  2. zxcvbad
    Posted January 21, 2012 at 01:45 | Permalink | Reply

    Technical posts are cool! :)

  3. Thedapeproject
    Posted January 21, 2012 at 04:58 | Permalink | Reply

    Take a break my friend we have time! :D

  4. hypernova
    Posted January 21, 2012 at 07:52 | Permalink | Reply

    Omg!! Haha :D can we retrieve the stones we skip?

  5. BrownieSanFrijolTaco
    Posted January 21, 2012 at 18:50 | Permalink | Reply

    My head hurts lol….

  6. Posted January 22, 2012 at 01:53 | Permalink | Reply

    :) kaalus, you are the man.

Leave a Reply. No swearing please.

Please log in using one of these methods to post your comment: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s