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....
281
views
20
comments
0
points
Most recent by
BlueEyedDragon
7:09PM
Technical Support
Game lags for about a minute since update.
321
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
[bug] Couldn't drop skylights' RT
21
views
0
comments
0
points
Started by
RedSword
5:33AM
Technical Support
More Discussions
General
Do the "Performance-Jam"!!!
3.8K
views
133
comments
15
points
Most recent by
ezekel
7:51PM
General Discussion
Build 247 is now live on Steam! - Natural Selection 2
7.1K
views
120
comments
0
points
Most recent by
ma$$a$$ter
7:45PM
General Discussion
How to change commander binds?
191
views
11
comments
0
points
Most recent by
IronHorse
7:34PM
General Discussion
Cool features/tactics rarely used.
1.9K
views
67
comments
4
points
Most recent by
Ghosthree3
7:25PM
General Discussion
Sewlek's Balance mod
49K
views
1.7K
comments
1
point
Most recent by
Jekt
6:31PM
General Discussion
More Discussions
Veteran
Custom HUD mod
371
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
211
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_Tarvos [Need Advice / Criticism]
1.4K
views
66
comments
0
points
Most recent by
QwiXXeR
7:27PM
Mapping
Xenoswarm - a new mod from the NS2Combat team!
1.5K
views
33
comments
8
points
Most recent by
peregrinus
7:16PM
Modding
ns2_ayumi
31
views
3
comments
0
points
Most recent by
killer monkey
6:49PM
Mapping
[WIP] co_portals - Community Made Fun Map!
2K
views
113
comments
0
points
Most recent by
Howser
12:58PM
Mapping
Marine vs Marine - Released
New gametype mod
13.4K
views
201
comments
5
points
Most recent by
DarkflameQ
8:12AM
Modding
More Discussions
Other
GTX 780
51
views
6
comments
0
points
Most recent by
ezekel
6:15PM
Off-Topic
Do all dating websites suck?
111
views
3
comments
0
points
Most recent by
ezekel
12:40PM
Off-Topic
Xbox One (1)
381
views
25
comments
0
points
Most recent by
ezekel
11:53AM
Off-Topic
Ns2 gorge
Ns style
42.5K
views
88
comments
0
points
Most recent by
Naz
May 22
NS Customization
Missing Constie Status
181
views
24
comments
0
points
Most recent by
Comprox
May 22
Web Site Feedback
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