Optimization
NeXuS
US Join Date: 2013-10-13 Member: 188681Members, NS2 Playtester, Reinforced - Silver, Reinforced - Shadow, Subnautica Playtester
It's no secret NS2 is a CPU intensive game, so I started thinking about possible solutions to help optimize the game and make it more friendly to players with lower end PCs. Before I start let me just say, I do not claim to be a game dev nor do I possess EXTENSIVE knowledge of game design but I feel confident I know enough that I could possibly help. If I am incorrect about some of these things, please feel free to correct me as I am not afraid of constructive critisism
One thing my college professor drilled in our heads while learning UDK was optimization. A simple way to optimize a map is to not render any materials that will NOT be seen by the player. This will not only decrease the load on the GPU, but also, on the CPU. I went in to spectate mode just to see what kind of materials were, what I would say, unnecessarily rendered. This just on one map, Docking, and I found a few things within a matter of minutes.
This is a part of the map outside Cafeteria. Large structures being rendered on all sides, even sides that will never be seen by an in game player.
Here, the top of the fan blade, top part of infestation, and the support beams are rendered.
The roof of Cafeteria is rendered. Even with jetpacks, no player in game will be able to see this texture.
From Courtyard, you can see the other side of these structures, so rendering one side is perfectly normal. However, why render the other side? I don't believe any player will see this side in game.
I'll say again, feel free to offer any explanations or thoughts on this. This is just a few things I found on one map. I'm sure I could find a lot more on this map and others as well. But in my opinion, looking for unnecessarily rendered materials is a great way to start optimization this game. I'm sure there are other more advanced ways NS2 could be optimized, but for the sake of this thread, I wanted to keep it simple.
One thing my college professor drilled in our heads while learning UDK was optimization. A simple way to optimize a map is to not render any materials that will NOT be seen by the player. This will not only decrease the load on the GPU, but also, on the CPU. I went in to spectate mode just to see what kind of materials were, what I would say, unnecessarily rendered. This just on one map, Docking, and I found a few things within a matter of minutes.
This is a part of the map outside Cafeteria. Large structures being rendered on all sides, even sides that will never be seen by an in game player.
Here, the top of the fan blade, top part of infestation, and the support beams are rendered.
The roof of Cafeteria is rendered. Even with jetpacks, no player in game will be able to see this texture.
From Courtyard, you can see the other side of these structures, so rendering one side is perfectly normal. However, why render the other side? I don't believe any player will see this side in game.
I'll say again, feel free to offer any explanations or thoughts on this. This is just a few things I found on one map. I'm sure I could find a lot more on this map and others as well. But in my opinion, looking for unnecessarily rendered materials is a great way to start optimization this game. I'm sure there are other more advanced ways NS2 could be optimized, but for the sake of this thread, I wanted to keep it simple.
Comments
Don't you see in spectator mode the whole map anyway?
http://en.wikipedia.org/wiki/Z-buffering
It's not really cost effective at that point.
Plus add the fact that skulks, lerks, and jetpacks can look outside from all angles of the map, so naturally they would need to cover some areas that would normally be unnoticed by a standard fps game.
You can totally see the roof.
Furthermore the game definitely has more of a CPU bottleneck as a result of all the in-game mechanics being written in LUA.
Ok. Well, I messed up with this one then. lol
You have to determine whether or not you can see an object in order to make this optimization, and that's a CPU cost in NS2. You can remove triangles that face away from the camera on the GPU but the whole object is still prepared and given to the GPU.
Increase precaching time, less hitches> people complain about loading times.
BUT, those checker boards really need to be hidden from view...
List of console commands in ns2 wiki: http://wiki.unknownworlds.com/ns2/Console_Commands
Hey ZM_Reaper, don't worry about it. Its guys like you (and others) that make this the most community contributed game. We are thinking about things to improve it, and no one should feel bad about that. Keep it up.
Lol so true.
Yeah that's probably it but I think we can still do better.
Then devs should make option? It really depends on your configuration.
I guess you haven't seen this one yet:
http://forums.unknownworlds.com/discussion/133200/it-s-happened-hitching-problems-found-and-fixed-mostly-still-wip/p1
Yeah... the chess board can be seen in reflections of the windows all over this and other maps.
This is the problem. I don't know how we're going to fix it, but THIS is the issue.
EDIT: Updated that post again.