Jump to content

since the new "performance code" issues with recording with OBS


Jackson Redstar
 Share

You are about to reply to a thread that has been inactive for 578 days.

Please take a moment to consider if this thread is worth bumping.

Recommended Posts

Kinda curious if anybody else who uses OBS to record in SL has seen issues recording. I been recording in Sl some 10 years now, even events with if Im lucky 5fps and even then the recording it self was fine. I been experiencing since using this enhanced code in Firestorm, issues with OBS stalling, like it when stop the record just hangs say 'stopping recording' but it never does , and I have to quit OBS via the task manager. Biggest issue has been on occasion severe encoding lag, and mind you these the same settings I been using for years. I have tried running OBS in admin mode and running it normal. I usualy record at 30fps tried also lowering that to 24. Actualy in world lag now is rarely an issue anymore with this new performance code, in fact, the one partial "fix" I found was limiting the frame rate in prefrences. I think it may coincide with when the GPU ramps up to 95% + the major encoding lag issues start occuring but it just hanging seems to happen when everything appears to be running smoothly. I also updated OBS to v28 see if that helps,. it didnt. I also use the streamFX plugin so I can record with the h.265 codec

Link to comment
Share on other sites

Things get very questionable as we head down this path so all this advice is very speculative.

The viewer (all viewers that are built from the foundation of the LL viewer) will run the main thread at 100% (on windows this is hidden by the awful scheduler that moves it around the CPU cores). Nowadays in addition to this we have many threads do extra work fetching textures and so forth, increasing the overall CPU usage while leaving the main thread free to draw more frames per second. We will also be hitting RAM and VRAM harder as well as your hard drive where the cache is. OBS, meanwhile is heavily demanding the GPU to record the screen, will have some memory pressure (to allow it to keep up with the frame rate and streaming to disk) and disk IO. The challenge is to work out where the conflict is here.

As we are running faster, it could be that OBS is not getting enough CPU... I doubt this to be honest, though not knowing the machine specs that could be an issue, just not my first assumption.

OBS will probably be streaming more data now, meaning that the IO demands on your drives is higher. FS is also more demanding on its caches etc. so ensure that they are writing to separate drives and use the window performance tools to see if IO is spiking high.

The next of the usual suspects is RAM, both OBS and the viewer will be chewing on RAM to keep the pace up. It may be RAM pressure, check the memory usage on your machine. 

The final, for now, suspect has to be the GPU, as you note in your own observations. With higher framerates comes high GPU and VRAM usage. OBS needs it's access to the GPU too and so contention there is a real possibility. Look at the VRAM and GPU usage using a video card monitor app (I think we can even do this native in windows now). If VRAM is maxed then you might want to tweak the viewer "dynamic vram" settings to be more generous towards the OBS process, other things such as shadow quality can also have a significant impact on the throughput of the GPU. . 

 

Link to comment
Share on other sites

To be fair i'd very much root for the GPU being the cause here.

Viewers have rarely been hitting the GPU (unless you enabled and set excessive shaders such as Depth of Field all the way up or had a low sun angle with shadows) so usually there would be a good chunk of free resources to work with, i'm saying that with a GTX 1060 which was hovering around 60% most of the time (with everything enabled). Now that the CPU can work down a lot more stuff, the GPU is also being worked harder, which in turn leaves less free resources for OBS and OBS from my personal experience has always been a very heavy performance hitter on its own and that was with free resources to spare. Now with your GPU resources being far more "limited" i suspect that your GPU simply can't keep anymore since OBS is quite a heavy GPU resource hog (i was told using NVidia's Shadowplay codec is supposed to reduce said impact close to zero, like Shadowplay/Share itself, i highly doubt as that was the first thing i tried and it did not make any difference).

Personally i'd suggest giving Shadowplay/Share or the AMD equivalent (if you don't have a NVidia card) a try, they are very good at what they are supposed to do (recording the applications) and unless you are writing completely and obscenely large resolutions at insane bitrate and framerates on a super slow HDD you should not see any problems (infact in that case the recording would simply break and you'd see dropped frames inside the recording, your framerate would be fine tho). As far as i understand they literally catch the rendered images and save them to your disk, images that would otherwise simply go to waste are simply being saved from going to waste and instead copied from the GPU directly to your disk which eliminates 99% of all overhead making it almost free recording. (Which makes you wonder why this hasn't been a thing much sooner than 10 years ago)

  • Like 1
Link to comment
Share on other sites

We're missing some information here:

Are you using software or hardware encoding? (x264/5 or NVENC / AMF (AMD) )

On 10/3/2022 at 4:34 AM, Jackson Redstar said:

I also use the streamFX plugin so I can record with the h.265 codec

I would avoid plugins for codec support if you're having issues. This is almost guaranteed to be software encoding as OBS does support native HEVC (h265) encoding, although only if it can be hardware accelerated (I could be wrong on that, but I've only ever used it hardware accelerated)

Link to comment
Share on other sites

4 minutes ago, Jenna Huntsman said:

We're missing some information here:

Are you using software or hardware encoding? (x264/5 or NVENC / AMF (AMD) )

I would avoid plugins for codec support if you're having issues. This is almost guaranteed to be software encoding as OBS does support native HEVC (h265) encoding, although only if it can be hardware accelerated (I could be wrong on that, but I've only ever used it hardware accelerated)

Back when I started doing .265 recording the only option was streamFX and using .265 via ffmpeg. I have now updated OBS to 28 and dropped the streamFX plug in, So now I am going back and forth deciding if I want to record in HEVC or standard .264, I can see any real quality difference, the main difference I see in in GPU encode usage - .264 usues about 13% and .265 uses about 35% (with the same CQP settings) so I am trying to figure out if the higher encoding usuage is maybe the issue when the GPU is pushing to 100% - just alot of testing and trying to find the right 'extreme'  circumstances

Link to comment
Share on other sites

There shouldn't be any quality difference purely from which codec was used, the main difference is that HEVC uses more complex (this, more efficient) compression to allow for smaller filesizes at the same quality. I'd say for realtime recording, use h.264, the hardware encoders for it are well tuned, as are the software encoders, whereas HEVC is still being refined in that regard.

Link to comment
Share on other sites

You are about to reply to a thread that has been inactive for 578 days.

Please take a moment to consider if this thread is worth bumping.

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
 Share

×
×
  • Create New...