Natural Selection 2
Login Now >
Click here to create a new account
Unknown Worlds Entertainment
Home
Game Guide
Community
Media
Forums
Store
Twitter
Facebook
YouTube
Latest Developer Posts
Promoted Content
matso
Master of Patches
6:17PM
Do the "Performance-Jam"!!!
Insane wrote: » ezekel wrote: » Scatter wrote: » Is LuaJIT something that must be implemented game wide or can it be used in certain critical pathways? I have a basic coding understanding but not enough to really know this off hand. I think luaJIT splits the workload, so one part of the game goes through luaJIT, then another part goes through regular lua.. so making the work more evenly split on the cores already supported or I'm an idiot and you can just disregard what I said because it's a complete guess Not quite. In very simple terms, LuaJIT translates Lua code into a format that your CPU can read more quickly. It does this just before the code segment is actually executed, hence the name (Just In Time). Turns out that Wikepedia has a very nice article how a tracing JIT compiler like LuaJIT actually works ... https://en.wikipedia.org/wiki/Tracing_just-in-time_compilation
Insane
Anomaly
4:39PM
Do the "Performance-Jam"!!!
ezekel wrote: » Scatter wrote: » Is LuaJIT something that must be implemented game wide or can it be used in certain critical pathways? I have a basic coding understanding but not enough to really know this off hand. I think luaJIT splits the workload, so one part of the game goes through luaJIT, then another part goes through regular lua.. so making the work more evenly split on the cores already supported or I'm an idiot and you can just disregard what I said because it's a complete guess Not quite. In very simple terms, LuaJIT translates Lua code into a format that your CPU can read more quickly. It does this just before the code segment is actually executed, hence the name (Just In Time).
Sewlek
The programmer previously known as Schimmel
11:43AM
Sewlek's Balance mod
CrazyEddie wrote: » BigRustyRed wrote: » RT's felt less important so the focus was a lot more on attacking specific areas of the map and holding map control then chasing after recappers and defending RTs. I haven't played the BT mod yet, but what you've described sounds like a good change to me. I get tired of constantly hearing "Skylights!" and "Ventilation!" and "Observation!" and having people running off to go rescue or rebuild them. I try to tell my teammates that the way to save Skylights is to take and hold Overlook. If the current BT makes running after RTs less valuable and encourages tactical play to secure territory, then I'm all for it. thats not clear yet. i keep the RT scaled down to 8 t.res for ~2 more days and see what its does to the game play.
matso
Master of Patches
May 22
Do the "Performance-Jam"!!!
SteveRock wrote: » CrazyEddie wrote: » Steve, Cory - as long as you're answering performance and technology questions: Are you doing any work around splitting up the game logic code so that it could be handled in multiple lua threads? I know that's not easy (and I know that's an understatement) but it seems like the payoff could be huge. We do this for prediction already, which resulted in huge gains, but that's literally running two separate Lua worlds. Doing it within the same world is more complex, and much more risky (in terms of bugs, code maintainability, whether or not it would even work, etc. etc.). So, it's less likely we'll pursue this avenue. The extra Lua VM running the Predict world is very much a special case; it it responsible for taking the server network updates and merge it with any missing client moves, then deliver that to the main thread. It reduced an O(fps^2) problem in the main thread to an O(network rate) in a secondary thread - a very good thing. Also increased fps so much that Max had to add move rate limiters to avoid servers imploding under the load ... oh, fun times, good times (http://forums.unknownworlds.com/discussion/122189/224-tech-changes-part-1 for those interested in more details ) Lua does not support true multithreading (yet), so if you want to split the logic work you would probably go for using multiple Lua VMs running in their own threads, and then have a merge phase in between... doable, but adding lots of complexity. So going for LuaJIT first is the right way ... hopefully, it will be fast enough to tide Spark over until Lua supports true multithreading.
SteveRock
May 22
Do the "Performance-Jam"!!!
CrazyEddie wrote: » Steve, Cory - as long as you're answering performance and technology questions: Are you doing any work around splitting up the game logic code so that it could be handled in multiple lua threads? I know that's not easy (and I know that's an understatement) but it seems like the payoff could be huge. We do this for prediction already, which resulted in huge gains, but that's literally running two separate Lua worlds. Doing it within the same world is more complex, and much more risky (in terms of bugs, code maintainability, whether or not it would even work, etc. etc.). So, it's less likely we'll pursue this avenue.
matso
Master of Patches
May 22
Do the "Performance-Jam"!!!
CrazyEddie wrote: » Steve, Cory - as long as you're answering performance and technology questions: Are you doing any work around splitting up the game logic code so that it could be handled in multiple lua threads? I know that's not easy (and I know that's an understatement) but it seems like the payoff could be huge. Right now the client uses slightly more than 2 cores at peak load, so further MT would not benefit 2-core machines much. Better to go for LuaJIT, which uses the CPU more efficiently.
MurphyIdiot
NS2 programmer
May 22
time to make the mods - problem
Your problem is in the game_setup.xml file. If you open the console with ~ in game, you will see this being spammed: Error: Error reading end tag. Error: Couldn't load 'game_setup.xml' It failed to parse the file due to this line having a typo: <predeict>lua/ModPredict.lua</predict> The console and log file are your friend
SteveRock
May 22
Do the "Performance-Jam"!!!
moultano wrote: » SteveRock wrote: » And since you seem to be fairly technically minded, the major challenge we face with LuaJIT is the Lua->C++ API. For LuaJIT to be performant, you have to architect that API in some pretty specific ways, otherwise you will always break the JIT compiles and get almost no benefit from it. Completely changing the API is not an attractive option (rewrite a lot of code..break all the mods..), so we're currently investigating ways of avoiding this. Tell us more! Reading about things like this gives me a "break out the profiler" itch. It's exciting. Is there a performance sensitive subset you could rewrite, and assume the remainder will fall back to being interpreted? One challenge is even identifying the hotspots, so Dushan has been working on a sample-based Lua profiler to help with this. Think of it as Intel VTune for Lua scripts (cuz otherwise, VTune just tells us...Lua is slow). Once that is done, we can better assess if it's possible to address just that subset.
Squeal_Like_A_Pig
Janitor
May 22
UWE to replace Vanilla NS2 with Sewlek's balance mod in the near future
thelawenforcer wrote: » ironhorse - im saying that characterizing all criticism or questioning of the mod in general as no more than "omg this mod suxxxxX!!1!!!" is a serious misrepresentation of what people were actually saying and that by doing so, it enables him to ignore said criticism or questions. i find that intellectually dishonest and would expect better from a serious games developer. Nowhere did I state this. Not...at...all. There is plenty of valid criticisms of the mod being carried out in thoughtful discussions in the main BT mod thread, in game, and by the official balance mod testing team, and I was not referring to those arguments, merely requesting people who want to give further feedback to frame it in a manner that is respectful and constructive. And, I see that there were several posts made after my comment that did exactly what I requested, giving their opinions in a non inflammatory way, and listing out the reasons why they disagree with certain features in the mod. However, I would like to request that people leave their feedback in the other current BT thread, so that we have it all in one place, and it doesn't get lost in this thread.
Forums
Recent Threads
Activity
Best of...
Unknown Worlds Entertainment
Getting Started
Your game files do not match the servers....
291
views
21
comments
0
points
Most recent by
hit321
10:55PM
Technical Support
Framedrops when using mouse in lategame
41
views
1
comment
0
points
Most recent by
james888
8:45PM
Technical Support
Game lags for about a minute since update.
341
views
40
comments
0
points
Most recent by
IronHorse
5:27PM
Technical Support
Server Browser bug
41
views
2
comments
0
points
Most recent by
simba
2:12PM
Technical Support
Editor grid tool display problem
11
views
1
comment
0
points
Most recent by
[AwE]Sentinel
12:05PM
Technical Support
More Discussions
General
EU Div 2 Finals today (5/23) - RadicaL v. hard.day @ 11am PDT/8pm CEST
111
views
9
comments
0
points
Most recent by
psico
11:45PM
General Discussion
Alien gender.
641
views
34
comments
0
points
Most recent by
billet
11:45PM
General Discussion
Sewlek's Balance mod
49.2K
views
1.7K
comments
1
point
Most recent by
ritualsacrifice
11:39PM
General Discussion
Spark Cinematics of Natural Selection 2 - UnknownWorlds
381
views
4
comments
1
point
Most recent by
VonDoom
11:16PM
General Discussion
Steam Achievements for NS2
41
views
4
comments
1
point
Most recent by
Ghosthree3
11:01PM
Ideas and Suggestions
More Discussions
Veteran
Custom HUD mod
381
views
10
comments
0
points
Most recent by
Mendasp
7:02PM
Competitive Play
ESL
Opening tournament
Webbed
2.7K
views
49
comments
0
points
Most recent by
fanatic
May 22
Competitive Play
Australian Cyber Gamer Tournament Season 1 comes to a close
221
views
8
comments
0
points
Most recent by
sebastianoswell
May 22
Competitive Play
Quoth Gaming recruiting for ENSL
141
views
2
comments
0
points
Most recent by
SammyG
May 21
Competitive Play
Pro players - Competitive play Vs Pub Play
1.4K
views
39
comments
0
points
Most recent by
joshhh
May 21
Competitive Play
More Discussions
Creation
ns2_ayumi
91
views
9
comments
1
point
Most recent by
Kalopsia
10:49PM
Mapping
Remake List
Which NS1 map is still missing and your favorite?
531
views
28
comments
0
points
Most recent by
[AwE]Sentinel
9:53PM
Mapping
Xenoswarm - a new mod from the NS2Combat team!
1.6K
views
34
comments
8
points
Most recent by
DarkSeraph
8:25PM
Modding
NS2_Tarvos [Need Advice / Criticism]
1.4K
views
66
comments
0
points
Most recent by
QwiXXeR
7:27PM
Mapping
[WIP] co_portals - Community Made Fun Map!
2K
views
113
comments
0
points
Most recent by
Howser
12:58PM
Mapping
More Discussions
Other
Xbox One (1)
401
views
26
comments
0
points
Most recent by
Chris0132
10:47PM
Off-Topic
NS disappeared from steam
11
views
0
comments
0
points
Started by
That_Annoying_Kid
9:23PM
Natural Selection Help
GTX 780
71
views
6
comments
0
points
Most recent by
ezekel
6:15PM
Off-Topic
Do all dating websites suck?
121
views
3
comments
0
points
Most recent by
ezekel
12:40PM
Off-Topic
Ns2 gorge
Ns style
42.5K
views
88
comments
0
points
Most recent by
Naz
May 22
NS Customization
More Discussions
Community
Copyright
Developer
Terms of Use
Privacy
Unknown Worlds Entertainment Logo
© 2013,
Unknown Worlds Entertainment
. All rights reserved.
Visual Design by
Fully Illustrated