Friday 3 October 2014

Final Week Day On Performance

Well I've had a week, and I've crushed some bottlenecks and got my demo from 35 fps up past 60 fps which was my goal.  Today is about putting everything back together now so the software has no wires hanging out before the weekend. That means adding a PRE-BAKE vs REALTIME slider panel drop-down so we can choose between the old way and the new way.  Making sure the editor and test game can work as it did before, and also that I can lightmap any time I want when I press F1, that the levels save the lightmapping work and reload it perfectly every time, that it can handle The Escape demo without crashing (all be it on a single thread which causes test game to freeze while the lightmapping is in progress), plus fix an issue that has just emerged in the IDE which is now slowly than it used to be, so that needs investigating.


Also been experimenting with quality settings, with the above showing a quality setting of 2.0 and the one below showing the setting at 0.5.


The effects are so subtle I decided to change the default lightmapper to 1.0 for the moment and come back to the degree of effect the quality value provides.


I have also added a new PRE-BAKE vs REALTIME slider panel drop down box which lets me bounce from these two modes, and I invite you to guess which one is which between the one above and the one below.


Perhaps a little unfair as I still need to line up the intensities of the scene, but I am planning something very specific in this respect mid-October.  Still plenty of performance work I 'COULD' do to the engine, but my week is up and I will be making a case at the next strategy meeting to do some MORE performance work, especially on the GPU side using the GPA Frame Analyser, and perhaps a little NSIGHT as well.  My task list still shows render ordering and object occlusion work as priority items, but it looks like I have run out of time this week. I still have two more days next week before the meeting so more progress on performance still to come.  Pretty happy with this weeks work however, from all the team, and quite buzzed to repeat this next week too!  

Until then, enjoy your weekend and if the sun is shining, try to pry yourself away from the keyboard and go for a nice walk.  At least that's my advice to me, whether I take it or not is another matter.

14 comments:

  1. I think the bottom image is the prebaked version. I assume this purely because it has AO baked in and as you have already stated, the AO is cranked up, so, you can see it working. Good work so far Lee (and the rest of the team).

    ReplyDelete
  2. The bottom image looks superior. The performance increases sound great and I encourage you to continue to squeeze more and more out of the engine. It's starting to look comparable to other engines as far as basic lighting goes.

    ReplyDelete
  3. I agree.The top image looks closer to what we get now, the bottom has way more shadows off the straps and such.
    I wonder how much FPS is saved or not if you do a test run with say 50 trees? How will animated trees be handled? I guess they still need to use the real time shadowing to work.
    I'm looking forward to testing this version out when it's released.

    ReplyDelete
  4. Good work, Lee! I would vote to continue optimising performance until all avenues have been exhausted. Optimise that engine 'til she cannid be optimised any more (Scotty from Star Trek)! I think the visuals are going well but still have a way to go.

    My personal view is that character AI should be optimised before you get too bogged down with multiplayer because I think AI is fundamental whereas multipayer (whilst important in the longer term) is really not - it's a feature rather than a basic requirement.

    ReplyDelete
    Replies
    1. I could not agree more! After completing my competition level, the single most obvious and difficult thing to contend with was the AI. After winning second place and maxing out Reloaded, I realized that I could indeed create a complete midcore game with this amazing software if only the AI would make any sense. Right now it is almost unusable for more then a very small level. If AI was 100% scriptable with a ton of animation and behaviours to choose from I could start building a full game today. Please: advanced AI first!

      Delete
    2. 200% agree! Multiplayer sounds good on paper but it's really not a priority right now. Give us a good singleplayer experience first!

      Delete
  5. Great work! I agree performance all the way just put your foot down ;)

    ReplyDelete
  6. Bottom image looks better but the shadows are maybe a little too strong. Looking good though.

    ReplyDelete
  7. As far as I see it as I have said before - both the screen shots are OK and preference over one is relative to me. Inside a game to me first impressions as with many things is what counts in the first instance and general environment is initially at least more impressive than small details. Thus the overall appeal of both the game and gameplay is a winner over - smaller details of game environment and gameplay. Main core items like stability, performance and gameplay quality and game, dynamics, AI are king and general environment is fairly low down. You can have a great game with main items and gameplay enjoyment and get away with the lesser eye candy but very difficult the other way around in my opinion.

    And to the point in the two shots in the range of differences are fixed either way then thats bad - if both visual types across the range shown are possible then that ideal.

    i.e. both visuals will fit different scenes and neither will fit the other at these extremes.

    My thought is that one will fit in well with a day with little bright sunshine (overcast type of environment) and the other will fit well perhaps in bright baking sunshine which not all games and scenes may need or want, In each case one may be equally accurate to the other relatively speaking.

    Question therefore is to successfully match a full range range for any type of scene and environment from cold/dark/dull/cloudy/rainy/snowy to immensely hot/bright scenes and or games at the other extreme of the range - will either do that successfully.....

    Do and or will users have the ability to manipulate themselves the overall scene and control the strength of light and shadows we see in each of the scenes across the light range.....

    Can we adjust the strength and position of the Sun (thus shadows)? so that we can have a choice of either visual effect as shown. Apart from any placed lights?

    From what I read it seems that we will need two separate systems to do that if that can be done at all? and one of the system choices wont be able to match the range. If thats not the case and say the AO can then why do we need the old system presuming that somewhere along the line duplicates of anything in the engine (having two things for the same job) must presumably have a cost.

    If I had a preference for only one of the screen shots I would prefer the first old duller shot as its kind of mid range and adding some lights may help there. The second bright shot though looks great is less suitable across a range of game types as its far to contrasting for many game environments and the variations between light areas and shadows are very extreme.

    Personally I think as some others have perhaps suggested the lighting though of some importance is less so than all of the other core features as mentioned above and well down in the pecking order. Give me core features - the ones I mentioned above any day over any difference between the above screen shots.

    If the worst came to the worst I could live easily with the current scene management regarding lighting and not miss the newer one at all. On the other hand not the same for the core features as mentioned : here they are again :

    Main core items like stability, performance and gameplay quality and game, dynamics, AI are king.

    Multiplayer? who needs that? if you don't have the core features in place to start.

    I am a fan of MP and many other what could be said to be important things requested, considered for inclusion, and yet perhaps to come and they fit in the same category - not any priority at all unless the core items are at above acceptable levels and standards for gameplay to start moving forward from now. there would be no point in adding anything else.

    :-)

    ReplyDelete
  8. I'll be honest, while I value multiplayer as an objective - at the same time it's more important for me to have the following:
    1) a way to build multiple levels
    2) a way to do indoor scenes without exterior lighting
    3) functional in game lighting (they don't overlap well and there's no dynamic lighting)
    4) Your prebake solution :)
    5) significantly higher framerate on low-mid/midrange equipment. I'm waiting for 090 to be the magic bullet here.

    These are all things that I think far exceed the need for multiplayer. That said, you've already got the groundwork in for basic DM support - might as well finish it up. Just don't get caught up in feature creep when we can't even make multiple levels or have dynamic lighting yet!

    :)

    ReplyDelete
  9. Multiplayer work sort of came out of the blue. As of mid-July it wasn't even on the development plate but I understand the desire to get on Steam has accelerated that track of development. The Steam SDK apparently makes the process easier by orders of magnitude. Still, at this stage I'm not sure how multiplayer could possibly integrate efficiently into the main engine given the number of fundamental features still lacking from single player.

    I prefer the second screenshot simply because the first seems so bland and washed out to me, but that style could also serve a purpose depending on the desired game and setting.

    ReplyDelete
  10. i would hope map linking would be here relatively early after the release of multiplayer?!
    even if its just 2 maps that can link only, just to test map transitions ect..
    performance could be worked on probably but we havent seen the end results of lees work for 09 so hard to judge right now.. but defo needs to hit the 350fps + mark imo on blank flat maps preferably on medium to high not just lowest with everything on to some degree, maybe not 100% shadows reflections and such but it should be achieveable lol. ;p.. come on lee you can do it !!.

    i would like to see the conkit ready enough for betas for 09 also lol am i dreaming i think so but i just really wonna build with it lmao.. cant wait to see how the engine handles a full map creation with it..

    ReplyDelete
  11. I can understand people saying multi player seems frivolous considering the need for improvements in the engines core. Of course there are 3 coders, and only one of them directly works on the main engine. So obviously, development is split according to peoples skill sets and such I imagine.
    Better AI will almost certainly have a speed cost, so we really need the engine to run far better before it is worked on. No point having great AI if the game slows to a crawl with a few running about (5 or more at the same place was enough to slow things for me on a fairly big map). Even on an empty one you can slow things a fair bit with lots of AI. We won't be making scenes as busy as Dead Island anytime soon for instance, never mind the sequel which I assume will better it.
    I agree it needs improvement. Quite a bit more really for it to feel at least semi realistic. But speed comes first for me. I also think it is way past time to get multi levels working out of the box. But perhaps they are waiting to get things more finalized before they undertake that task. I'm not sure how they will be handling moving between levels yet, what info will get carried across between levels, if any etc. So it may not be as easy as we think, but obviously more important than multi player still.
    I also think speed should be improved across the board, a fairly high end graphics card should run pretty much as fast on highest settings as it does on lowest. They are designed to do this. The lower shader settings really should only be needed on lower end cards. You would think this would be the case already, but high end cards certainly don't seem to perform as they should as yet. Still, the latest work on performance mentioned here sounds like it is headed the right direction.
    To keep things short as I have done a few monster posts of late, heres my top 5 list of things needed.

    Speed. (may be better already, but we know we will want more)
    More Lua script options. (obviously gives more options to get games working)
    AI improvements (obviously linked with the above, cover needs improving for one)
    ConKit (preferable to AI for me, but it's not vital so I list it here)
    Character maker? (I can only assume this has been on hold for some time)

    TGC are definitely trying to make this a good release. The amount of time being taken is proof of that. Let us hope the wait doesn't make expectations too high.

    ReplyDelete
  12. The bottom image is obviously the prebaked one and is by far the best of the lot! Very pleased to finally be getting the bright sunlit rocks with dark, sharp shadows. Only, please please turn down the AO on the edges of stuff - waaaay too much at the moment and ruins what would otherwise be a massive step forward in terms of graphics for Reloaded.

    For the record, at first glance the amount of AO is mostly ok on the stack of crates, but one look at the windows of the building and the thick, black lines make it look like a cartoon.

    /wordy rant

    ReplyDelete