I find it odd that many things are loading multiple times in succession, even if they are only taking a few milliseconds each time. Eg: Loading 'fonts/agencyfb_smaller_bordered.fnt' : Line 251 and line 253. Wouldn't it already be loaded from before? Or does this indicate loading it from VRAM into the GPU's cache?
As for stamp_large.fnt's nearly half a second load time, it was also loaded once before and took over 100ms, though that seems to have happened a long time before it's second 482.17ms load time so it might have been moved out of the cache/RAM by the time it was needed again.
That is exactly what I was looking for! Thank you! (The last two shots, as the first two were not expanded for me to investigate like the last two were)
These items weren't on my list, so you have found something new!
Please feel free to send me any instances where this happens with the top purple bars expanded, so I can have each one you find addressed. To: Ironhorse@unknownworlds.com
I gathered a couple more for you. I don't have anything as drastic as 500ms but some definite frame rate drops in an otherwise very stable machine. Are they OK linked on imgur?
IronHorseDeveloper, QA Manager, Technical Support & contributorJoin Date: 2010-05-08Member: 71669Members, Super Administrators, Forum Admins, Forum Moderators, NS2 Developer, NS2 Playtester, Squad Five Blue, Subnautica Playtester, Subnautica PT Lead, Pistachionauts
Thanks!
So you know how at the top of the screen it says what is taking up the most resources in ms?
Take the render thread for example. If it's taking up the most, then you should expand the rendering thread, which is usually down a bit more. You can use your mouse wheel to scroll down and then expand that specific thread to see what is being rendered. Two of your pics do not show this. They only show the logic/game code thread expanded when it was not the resource hog.
The tool takes some getting used to, but it provides a lot of info.
Thanks again! Feel free to keep em coming.
There's another command I mentioned too that you can run *after loading the map and joining in the rr* : loadtimes true
With this command , After you experience this hitch and have profile running, you can quickly check the console for what was loaded and how long it took. Take a screenshot. This only works for models and effects currently, so if its shaders then it won't report anything, but we can confirm what's going on at least when that "loading" thread trashes performance.
That is exactly what I was looking for! Thank you! (The last two shots, as the first two were not expanded for me to investigate like the last two were)
These items weren't on my list, so you have found something new!
Please feel free to send me any instances where this happens with the top purple bars expanded, so I can have each one you find addressed. To: Ironhorse@unknownworlds.com
Thank you for doing this, again!
I'll write down what happened each time i have it and take a screen, and i'll expend all the +. It's often when i just teleported, or buy a gun. And when i'm fighting (but it seems linked to a sound, like something destroyed)
Thanks Shqke, was just looking at your screenshots and noticed that you had quite a few in Cargo which seems to be a real culprit for me. Most of Veil runs smoothly until I get there, at which point things get choppier and choppier until I eventually have to quit out. I'll try and run this profiler and get some screenshots of my own posted up as this has been a problem for me for quite some time now.
I noticed that bringing up UI stuff (the main menu, first load of map overlay, buy/evolve menus), phasing and respawning gives me micro-freezes too. Otherwise, framerates are usually nice and smooth.
its anecdotal (although what isnt), but after this patch the micro freezes are much worse. it seems a lot more things have switched to become lazy loaded vs pre loaded, could just be my first run on the new version - including first load on descent.
its anecdotal (although what isnt), but after this patch the micro freezes are much worse. it seems a lot more things have switched to become lazy loaded vs pre loaded, could just be my first run on the new version - including first load on descent.
will post updates soon with timing
On my more powerful comptuer, I have a framrae rate hit
slightly different log format this time... anyway, here's my top 50 load times for veil, full log attached
$ grep "Loading " ns.log | sed "s/Loading '\(.*\)' took \(.*\)ms/\2\t \1 took \2ms/" | sort -nr | head -50
496.87 fonts/stamp_huge.fnt took 496.87ms, cumulative = 3.19s, systime = 1851.68s
460.39 models/alien/lerk/lerk_view_spike.model took 460.39ms, cumulative = 1.24s, systime = 354.44s
175.39 models/effects/arc_blast.model took 175.39ms, cumulative = 1.45s, systime = 421.42s
109.31 models/props/descent/descent_repairdroid.model took 109.31ms, cumulative = 3.72s, systime = 1886.01s
109.29 models/effects/phase_gate_portal.model took 109.29ms, cumulative = 0.49s, systime = 190.46s
102.42 models/effects/frag_metal_01.model took 102.42ms, cumulative = 1.85s, systime = 720.84s
97.89 ui/cursor_buildtargetenemy.dds took 97.89ms, cumulative = 2.29s, systime = 1268.83s
94.02 models/effects/frag_babbler_egg_02.model took 94.02ms, cumulative = 0.68s, systime = 255.25s
54.50 fonts/stamp_medium.fnt took 54.50ms, cumulative = 0.09s, systime = 124.67s
50.26 ui/cursor_menudefault.dds took 50.26ms, cumulative = 0.26s, systime = 141.02s
49.85 fonts/kartika_small.fnt took 49.85ms, cumulative = 0.16s, systime = 124.80s
34.83 fonts/stamp_medium_0.png took 34.83ms, cumulative = 0.04s, systime = 124.67s
34.72 models/props/descent/descent_hallway_01_lower.model took 34.72ms, cumulative = 3.42s, systime = 1885.66s
32.53 models/marine/powerpoint_impulse/powerpoint_impulse.model took 32.53ms, cumulative = 0.20s, systime = 125.06s
31.53 models/props/descent/descent_skybox_planet_01.model took 31.53ms, cumulative = 3.58s, systime = 1885.85s
28.18 models/props/descent/descent_satellitearray_dish.model took 28.18ms, cumulative = 3.39s, systime = 1885.63s
27.10 models/props/descent/descent_wallmods_01_mod01.model took 27.10ms, cumulative = 3.33s, systime = 1885.58s
26.16 models/props/descent/descent_xbeam_01.model took 26.16ms, cumulative = 3.27s, systime = 1885.51s
24.83 models/props/descent/descent_hallway_01_upper.model took 24.83ms, cumulative = 3.47s, systime = 1885.71s
24.34 ui/cursor_aliencommanderdefault.dds took 24.34ms, cumulative = 0.28s, systime = 141.61s
24.03 fonts/stamp_huge_0.png took 24.03ms, cumulative = 2.69s, systime = 1851.68s
23.75 cinematics/environment/descent/descent_droid.cinematic took 23.75ms, cumulative = 3.61s, systime = 1885.90s
23.62 models/props/descent/descent_hallway_01_floor.model took 23.62ms, cumulative = 3.53s, systime = 1885.78s
23.44 models/props/descent/descent_wallmods_05b_pillar.model took 23.44ms, cumulative = 3.49s, systime = 1885.73s
21.79 models/props/descent/descent_hallway_01_ring.model took 21.79ms, cumulative = 3.44s, systime = 1885.68s
21.41 fonts/kartika_small_0.png took 21.41ms, cumulative = 0.11s, systime = 124.80s
21.21 models/props/descent/descent_wallmods_01_90in.model took 21.21ms, cumulative = 3.31s, systime = 1885.55s
20.89 models/props/descent/descent_hallway_01_light.model took 20.89ms, cumulative = 3.51s, systime = 1885.76s
19.00 ui/cursor_friendlyaction.dds took 19.00ms, cumulative = 0.30s, systime = 142.66s
18.91 ui/cursor_enemyaction.dds took 18.91ms, cumulative = 0.53s, systime = 194.25s
17.93 models/marine/armory/health_indicator.model took 17.93ms, cumulative = 0.38s, systime = 188.31s
17.01 ui/cursor_neutralaction.dds took 17.01ms, cumulative = 0.32s, systime = 144.05s
16.39 models/effects/arc_shockwave.model took 16.39ms, cumulative = 1.47s, systime = 421.44s
16.04 models/effects/frag_babbler_02.model took 16.04ms, cumulative = 0.50s, systime = 194.11s
15.63 maps/skyboxes/descent.cinematic took 15.63ms, cumulative = 3.55s, systime = 1885.80s
14.23 cinematics/main_menu.cinematic took 14.23ms, cumulative = 3.24s, systime = 1885.37s
13.87 models/props/descent/descent_satellitearray_dish_base.model took 13.87ms, cumulative = 3.36s, systime = 1885.60s
12.13 models/effects/frag_babbler_01.model took 12.13ms, cumulative = 0.52s, systime = 194.13s
11.87 cinematics/alien/build/build.cinematic took 11.87ms, cumulative = 0.34s, systime = 152.00s
9.78 sound/ns2.fev took 9.78ms, cumulative = 3.23s, systime = 1885.35s
9.41 models/props/descent/descent_wallmods_01_90out.model took 9.41ms, cumulative = 3.34s, systime = 1885.59s
9.37 ui/cursor_buildtargetdefault.dds took 9.37ms, cumulative = 0.33s, systime = 151.93s
8.87 models/props/descent/descent_wallmods_05b_str1_clean.model took 8.87ms, cumulative = 3.28s, systime = 1885.52s
8.84 fonts/agencyfb_large.fnt took 8.84ms, cumulative = 3.21s, systime = 1882.07s
7.17 fonts/agencyfb_large_0.png took 7.17ms, cumulative = 3.20s, systime = 1882.07s
6.94 models/props/descent/descent_hatch_01.model took 6.94ms, cumulative = 3.29s, systime = 1885.53s
5.33 fonts/agencyfb_small.fnt took 5.33ms, cumulative = 3.22s, systime = 1882.07s
4.31 models/alien/babbler/babbler.model took 4.31ms, cumulative = 3.59s, systime = 1885.86s
4.16 fonts/agencyfb_smaller_bordered.fnt took 4.16ms, cumulative = 2.55s, systime = 1696.22s
3.94 fonts/stamp_large.fnt took 3.94ms, cumulative = 0.58s, systime = 245.31s
definitely a data point that this build is much choppier than the previous one. the 50th slowest file took 3.94ms, while in build 239, the 50th slowest file was 3.64ms. the worst offenders are 10x the previous worst offenders.
is there a way to tell steam to relocate a single game? i wouldnt mind moving my ns2 install to my ssd. i keep it on the spindle because my entire steam folder is 38GB.....
Curious about this as well, haven't got and SSD yet, but was looking into one for my OS only, my steam folder is 850gb so obviously, that isn't all going on an SSD. I would definitely put just NS2 on it though.
In what wasn't given much publicity, Valve changed the Steam client so that you can now install games to different hard drives at the same time. While you used to have to have all your games in the same directory; now you can specify a new directory on another drive. You can only have ONE directory with games per drive though.
How does this help?
If you're like many people you have an SSD drive running your OS. You also don't have Steam on the SSD since your games takes up a ton of space. So if you delete and reinstall NS2, you could install it into a directory on your SSD. While that won't fix any internal game performance issues, it will take out any possible chance that the hard drive will bottleneck your performance.
To do this, first create a directory on your SSD. I just called it Steam off the root. Once done, when you install there will be an option that says "Choose drive to install to". If this is your first time installing to a new drive you will get a chance to pick the directory. After that you can only pick the drive and they all go in the same directory on that drive.
I get micro-freezes (which based on today's very short play session turned into mega-freezes) with texture streaming on. I don't remember things improving that much with it turned off. Anyway, I managed to take some screenshots of the profile overlay when things got really bad, hopefully this helps! Let me know if you'd like me to do anything else because I wasn't quite sure how to use the profile tool. I noticed when performance drops my ping increases but it doesn't seem like a latency issue, it seems more engine-related.
Computer and connection details:
I have a wired 1.2Mbps (slow I know, but absolutely fine for most games).
i5 2500K (not overclocked)
4GB DDR3
GTX560 Ti
No SSD
I can run the game maxed out without any hitches and remember dropping the graphics settings to the lowest to see if it helped but don't recall it making a difference.
IronHorseDeveloper, QA Manager, Technical Support & contributorJoin Date: 2010-05-08Member: 71669Members, Super Administrators, Forum Admins, Forum Moderators, NS2 Developer, NS2 Playtester, Squad Five Blue, Subnautica Playtester, Subnautica PT Lead, Pistachionauts
edited March 2013
Thanks for doing that shonan, but many of these shots are incomplete, as they arent showing everything.
Take this one for example: https://i1.minus.com/ibeZ8JffwwWuZt.jpg
See how near the bottom theres another long purple bar? Would help to see whats there, if you could scroll down with your mousewheel you can see it and expand it.
The first pic of the profile taking up your resources isnt needed, thats just the hitch that comes with activating profiler.
The ones that are interesting are the ones that are extremes like 90% game logic or 80% rendering, but unfortunately those ones aren't showing enough, like https://i2.minus.com/iVXjK9zgdNZ8.jpg
It shows the rendering thread taking the most, but you have not scrolled down or expanded the rendering thread to expose what it is. :-/
Good effort, and sorry that this tool isn't very user friendly.
Last few days (probably after the post big patch (build 241) I've been getting a lot of microstutters no matter where I'm at. Strangely, I see nothing in profiler, and my internet connection is solid. I see no hiccups there. I really wish I could give you more data, but basically after build 241 it's been mostly unplayable for me with a lot of rubber banding.
And just for point of reference: I've tried other games just to make sure it's not me, and they have no issues.
In contrast to what other people have said, I started getting 1-2 second freezes once or twice a round. It happened a lot over a couple of days, then i turned off texture streaming and the freezes stopped. I read in another thread that if you turn it off, all textures load at the start of a map, so there is no delay on loading anything whilst in play. Possibly not relevant to the problems you are experiencing but thought best to mention as similar symptoms....
Comments
As for stamp_large.fnt's nearly half a second load time, it was also loaded once before and took over 100ms, though that seems to have happened a long time before it's second 482.17ms load time so it might have been moved out of the cache/RAM by the time it was needed again.
These items weren't on my list, so you have found something new!
Please feel free to send me any instances where this happens with the top purple bars expanded, so I can have each one you find addressed. To: Ironhorse@unknownworlds.com
Thank you for doing this, again!
http://imgur.com/a/I8Qe6
So you know how at the top of the screen it says what is taking up the most resources in ms?
Take the render thread for example. If it's taking up the most, then you should expand the rendering thread, which is usually down a bit more. You can use your mouse wheel to scroll down and then expand that specific thread to see what is being rendered. Two of your pics do not show this. They only show the logic/game code thread expanded when it was not the resource hog.
The tool takes some getting used to, but it provides a lot of info.
Thanks again! Feel free to keep em coming.
There's another command I mentioned too that you can run *after loading the map and joining in the rr* : loadtimes true
With this command , After you experience this hitch and have profile running, you can quickly check the console for what was loaded and how long it took. Take a screenshot. This only works for models and effects currently, so if its shaders then it won't report anything, but we can confirm what's going on at least when that "loading" thread trashes performance.
I'll write down what happened each time i have it and take a screen, and i'll expend all the +. It's often when i just teleported, or buy a gun. And when i'm fighting (but it seems linked to a sound, like something destroyed)
2 = building lab
4 : same
6 : just playing but may be related to exo firing
Enable multi core rendering
and texture streaming
But disable any vsync.
It won't solve the issue you're experiencing but it'd cut out some of those texture loading hitches.
I can confirm gameplay seems smoother with less hitches after enabling texture streaming.
I can confirm gameplay seems smoother with less hitches after enabling texture streaming.
I noticed that bringing up UI stuff (the main menu, first load of map overlay, buy/evolve menus), phasing and respawning gives me micro-freezes too. Otherwise, framerates are usually nice and smooth.
will post updates soon with timing
On my more powerful comptuer, I have a framrae rate hit
$ grep "Loading " ns.log | sed "s/Loading '\(.*\)' took \(.*\)ms/\2\t \1 took \2ms/" | sort -nr | head -50
definitely a data point that this build is much choppier than the previous one. the 50th slowest file took 3.94ms, while in build 239, the 50th slowest file was 3.64ms. the worst offenders are 10x the previous worst offenders.
http://forums.unknownworlds.com/discussion/117259/bad-performance-some-hints-and-tips/p1
In what wasn't given much publicity, Valve changed the Steam client so that you can now install games to different hard drives at the same time. While you used to have to have all your games in the same directory; now you can specify a new directory on another drive. You can only have ONE directory with games per drive though.
How does this help?
If you're like many people you have an SSD drive running your OS. You also don't have Steam on the SSD since your games takes up a ton of space. So if you delete and reinstall NS2, you could install it into a directory on your SSD. While that won't fix any internal game performance issues, it will take out any possible chance that the hard drive will bottleneck your performance.
To do this, first create a directory on your SSD. I just called it Steam off the root. Once done, when you install there will be an option that says "Choose drive to install to". If this is your first time installing to a new drive you will get a chance to pick the directory. After that you can only pick the drive and they all go in the same directory on that drive.
I know it's not much, but every bit helps.
More images here: http://imgur.com/a/5HmKN
Computer and connection details:
I have a wired 1.2Mbps (slow I know, but absolutely fine for most games).
i5 2500K (not overclocked)
4GB DDR3
GTX560 Ti
No SSD
I can run the game maxed out without any hitches and remember dropping the graphics settings to the lowest to see if it helped but don't recall it making a difference.
Take this one for example: https://i1.minus.com/ibeZ8JffwwWuZt.jpg
See how near the bottom theres another long purple bar? Would help to see whats there, if you could scroll down with your mousewheel you can see it and expand it.
The first pic of the profile taking up your resources isnt needed, thats just the hitch that comes with activating profiler.
The ones that are interesting are the ones that are extremes like 90% game logic or 80% rendering, but unfortunately those ones aren't showing enough, like https://i2.minus.com/iVXjK9zgdNZ8.jpg
It shows the rendering thread taking the most, but you have not scrolled down or expanded the rendering thread to expose what it is. :-/
Good effort, and sorry that this tool isn't very user friendly.
And just for point of reference: I've tried other games just to make sure it's not me, and they have no issues.
Any suggestions for data hunting?