Performance build? ;)

BalmarkBalmark Join Date: 2002-11-01 Member: 3476Members, Constellation, Reinforced - Silver, Reinforced - Shadow, WC 2013 - Shadow
edited December 2011 in Ideas and Suggestions
<div class="IPBDescription">1 build based on increasing performance?</div>Hey,

I'm one of these guys who kinda had to slow down playing due to my machine not really up to the task lately.
Have a mediocre machine, nothing like the specs people have been posting here..

Any chance you could put a developer on trying to optimise some of the code for a build? ;)

Lovin NS2.. but will probably have to upgrade before I can do much more :( and can't afford an upgrade for a good while.. new baby on the way to keep my first company ;)

/Bal

Comments

  • WombatLOLWombatLOL Join Date: 2011-11-30 Member: 136042Members, Reinforced - Shadow
    Doubt they'll just do a performance update..............


    Without some bug squashing as well and onos annnddd jetpack.
  • BalmarkBalmark Join Date: 2002-11-01 Member: 3476Members, Constellation, Reinforced - Silver, Reinforced - Shadow, WC 2013 - Shadow
    ah yeah.. I did find the thread <a href="http://www.unknownworlds.com/ns2/forums/index.php?showtopic=112865" target="_blank">http://www.unknownworlds.com/ns2/forums/in...howtopic=112865</a> .. but I do also know developers instinctivley want to work on new things and don't like going back into old stuff.. but I also know, someone who's just targetting performance in general, can run through alot of code quickly and apply alot of small changes.. 1 small change in an area that's used everywhere would have knock-on effects etc.

    hell, I don't even know what language this is all done in ;)
  • Kouji_SanKouji_San Sr. Hινε Uρкεερεг - EUPT Deputy The Netherlands Join Date: 2003-05-13 Member: 16271Members, NS2 Playtester, Squad Five Blue
    edited December 2011
    They <b>are</b> optimizing the code <img src="http://members.home.nl/m.borgman/ns-forum/smileys/wink.gif" border="0" class="linked-image" /> It would be a rather useless effort for them to invest loads of time in a separate version to do some "magic optimizations" in there, which probably don't fit or go into the original build. Their time is best spend working on a single version of the game and get that one optimized.


    I think you don't quite understand what this short sentence entails in terms of extra workload <img src="http://members.home.nl/m.borgman/ns-forum/smileys/confused.gif" border="0" class="linked-image" />


    <!--quoteo--><div class='quotetop'>QUOTE </div><div class='quotemain'><!--quotec-->"Any chance you could put a developer on trying to optimise some of the code for a build? ;)"<!--QuoteEnd--></div><!--QuoteEEnd-->


    It might not seem like much, but in fact it would probably quadripple their workload, if not more. There is no magic fix to get NS2 running completely optimized to use in a separate "optimized" build. Besides, the thing with optimization is that the more you optimize, the code will get more complex and it will most likely affect other parts of the engine/game code. Resulting in exponentially more work you have to do to keep it all optimized and have it all play nice together.

    But there have been significant improvements already, the dev team and community programmers are finding more and more things to optimize each day. It's the code and server/client communication, not the stuff that's in the game that are causing the issues on lower end machines
  • ScardyBobScardyBob ScardyBob Join Date: 2009-11-25 Member: 69528Forum Admins, Forum Moderators, NS2 Playtester, Squad Five Blue, Reinforced - Shadow, WC 2013 - Shadow
    They are always working on optimization (and NS2 performance has improved considerably since the alpha). However, while the engine programmers are working on performance, its not like you want to have the artists/game programmers/mappers/etc just stop what their doing.
  • BalmarkBalmark Join Date: 2002-11-01 Member: 3476Members, Constellation, Reinforced - Silver, Reinforced - Shadow, WC 2013 - Shadow
    I know I know .. ugh, just frustrated :P cant get a decent pc to give it a good run.. I can't blame my bad aim for not hitting things so I blame my fps :P

    Where I am, we can pickup on alot of performance tweaks through code reviews, but I wasn't asking to do a full build on performance.. was just wondering if 1 person, for the course of 1 release concentrates on reviewing the existing code.. looking at the most commonly accessed stuff for little things like duplication of effort code, not talking about redoing existing frameworks or anything.

    tbh I just want a new pc, just ranting :P

    side note, is the server still restricted to only using 1 core? If so, changing that would hardly be throwaway code and would drastically improve performance? surely that's something that must be done and should be of very high priority?
  • Kouji_SanKouji_San Sr. Hινε Uρкεερεг - EUPT Deputy The Netherlands Join Date: 2003-05-13 Member: 16271Members, NS2 Playtester, Squad Five Blue
    Well, mutli-threading isn't all that easy or fast to implement either, if done wrong it might even end up slowing things down or make the code more complex to work with. Some things are already being offloaded to a second core AFAIK. Besides, they are currently working on "<i>performance tweaks trough code</i>" and "<i>reviewing the existing code</i>" as you put it. It's not like they can do more work then they currently are doing, unless they borrow Dr. Emmett Brown's Delorean...

    Patience is a virtue, I tellz ya :P
  • MrGreenMrGreen Join Date: 2010-12-10 Member: 75602Members
    Improving the performance? Good idea

    Wish someone else would have thought of it first :P
  • BalmarkBalmark Join Date: 2002-11-01 Member: 3476Members, Constellation, Reinforced - Silver, Reinforced - Shadow, WC 2013 - Shadow
    No need to be flippant tbh... I was running a dedicated server on an 8core blade server .. it was just a waste when there were enough single core servers out there (ie. all of them as far as NS2 is concerned) ..

    Patience if a virtue alright, but I just don't want to see what happened with NS1 happening (loved NS1) .. it arrived too late (end of life of the old HL engine) and was plagued with performance issues that lost it alot of players early on.

    meh .. I dont see the problem or why people gets their backs up when I'm suggesting something that is common practice.. I want NS2 to succeed.. I don't really care too much how it gets there.. my personal priority would be proper multithreading for server over new features, but I know I'm in the vast minority and I can deal with that :P ... my crappy machine for running the client is my own problem too I know.. nothing anyone can do about that... hmm or is there :P (new detail level .. '286' which only shows polygons :P )
  • BalmarkBalmark Join Date: 2002-11-01 Member: 3476Members, Constellation, Reinforced - Silver, Reinforced - Shadow, WC 2013 - Shadow
    meh close/delete the topic tbh
  • ObraxisObraxis Subnautica Animator & Generalist, NS2 Person Join Date: 2004-07-24 Member: 30071Super Administrators, Forum Admins, NS1 Playtester, Forum Moderators, NS2 Developer, Constellation, NS2 Playtester, Squad Five Silver, WC 2013 - Supporter, Subnautica Developer, Pistachionauts
    At the moment, it's a good idea to improve server performance, as that has a direct correlation to your client FPS.

    They are always working on optimizations as well as new features.
  • hellwooferhellwoofer Join Date: 2004-01-02 Member: 24962Members
    The game looks awesome.

    But how cant i play it smoothly on my pc? The requirements are.. i dont know... gigantic.

    i have a i7 2600K (3,4Ghz), Nvidia GTX 570 and 8 Gb Ram and an SSD. And iam still not able to play it on high details and 1920x resolution. I thinks that a big point why the servers are empty. But iam sure team already working on it.
  • ArgathorArgathor Join Date: 2011-07-18 Member: 110942Members, Squad Five Blue
    Ignore the over zealous defence of the current situation Balmark. The game barely runs 'acceptably' on the most high end machines, so you are definately not alone with your frustrations.

    I think it would benefit the game/community greatly in many ways if it was more accessible performance wise, but we will have to make do with the current situation for now.
  • Soylent_greenSoylent_green Join Date: 2002-12-20 Member: 11220Members, Reinforced - Shadow
    edited December 2011
    What do graphics artists and sound guys know about c++? Everyone is not capable of working on performance, at least not efficiently; different people have different skill sets and it is best if they work within their fields of competency whenever possible.

    <!--quoteo(post=1888310:date=Dec 4 2011, 09:07 AM:name=Balmark)--><div class='quotetop'>QUOTE (Balmark @ Dec 4 2011, 09:07 AM) <a href="index.php?act=findpost&pid=1888310"><{POST_SNAPBACK}></a></div><div class='quotemain'><!--quotec-->but I also know, someone who's just targetting performance in general, can run through alot of code quickly and apply alot of small changes..<!--QuoteEnd--></div><!--QuoteEEnd-->

    Optimizing a lot of random little things does nothing but introduce weird and exciting new bugs.

    <!--quoteo(post=1888310:date=Dec 4 2011, 09:07 AM:name=Balmark)--><div class='quotetop'>QUOTE (Balmark @ Dec 4 2011, 09:07 AM) <a href="index.php?act=findpost&pid=1888310"><{POST_SNAPBACK}></a></div><div class='quotemain'><!--quotec-->1 small change in an area that's used everywhere would have knock-on effects etc.<!--QuoteEnd--></div><!--QuoteEEnd-->

    That's true. Those places are often called "hot spots". They're not necessarily where you think they are(hence profiling tools) and they're not necessarily called frequently.

    Those kinds of optimizations are not trivial, but they tend to be manageable, bit-sized chunks. Like vectorizing a small function that loops over a lot of elements with SIMD intrinsics.

    That works, and it can get you some performance, but it's just not where the big wins are to be had. The big wins are mostly structural redesigns and algorithmic changes and figuring out that you can not do something and still be OK(do hydras need to reconsider their target every tick? No, when they have just fired they can't fire again for some time and they can just chill out for a while. does the collision geometry for that egg need to have that detailed geometry or is it just a waste of performance and a hindrance to player movement?) or that you can precompute and cache something instead of computing it on the fly(hydras don't move and neither do enemy buildings; if a hydra and a building don't have line of sight due to static geometry you don't need to keep checking if its a viable target).

    <!--quoteo(post=1888310:date=Dec 4 2011, 09:07 AM:name=Balmark)--><div class='quotetop'>QUOTE (Balmark @ Dec 4 2011, 09:07 AM) <a href="index.php?act=findpost&pid=1888310"><{POST_SNAPBACK}></a></div><div class='quotemain'><!--quotec-->hell, I don't even know what language this is all done in ;)<!--QuoteEnd--></div><!--QuoteEEnd-->

    C++ and LUA.
  • PlasmaPlasma Join Date: 2003-04-26 Member: 15855Members, Constellation, Squad Five Blue
    It would be good for Max to be able to spend a week or two on just performance; without needing to work on other bits that may be needed in the game.

    The lack of performance really does diminish _every other piece of work_ in the game.
  • SewlekSewlek The programmer previously known as Schimmel Join Date: 2003-05-13 Member: 16247Members, NS2 Developer, NS2 Playtester, Squad Five Gold, Subnautica Developer
    max and dushan are constantly working on increasing the performance. but you need to understand that it takes time. there will / can not be some magical code review that increases performance by 200%, WITHOUT causing serious bugs to the whole game. making a fast buggy "performance build" would not only steal time, it would also make nobody happy
  • PlasmaPlasma Join Date: 2003-04-26 Member: 15855Members, Constellation, Squad Five Blue
    Schimmel, yep I understand that.

    It was more in an attempt to let Max/Dushan/etc not need to context switch what they are working on in order to implement/resolve a different feature/bug in the game.

    I totally understand the need to push forward with features and not hold the game up, I'm a developer myself and I sympathize.

    What I am suggesting (if it sounds right to Max/Dushan) is to see if they could have a week or two to even investigate/profile/resolve performance problems.

    I don't mean to undermine anyones work at all; rather having worked on projects (not a game engine!) myself where I needed to tackle problems like performance, I've always appreciated having it as a task to be completed, rather than just picking at the problem whenever I had free time etc.

    Cheers
Sign In or Register to comment.