Question / Help Recorded framerate lower than specified?

Alright, I am trying to record my gameplay of "The Forest" and having a single issue. The system has an i7-6950X, 32GB DDR4 (3200), a 1TB WD Blue on an AHCI controller for the OS and recording, two WD 1TB Black single-platter disks on a RAID controller in RAID0 for the games, and two GTX 1070's in SLI using a high-bandwidth bridge. Note that The Forest does NOT support SLI and only uses a single GTX 1070, leaving the other one for OBS. Both are in X16 mode and nowhere near saturating it. I have a Dell S2417DG monitor connected via DisplayPort. That means I get G-Sync and play/record in 1440p (2560x1440@144Hz).

The game runs between around 62fps and 141fps. OBS is setup to record natively in 2560x1440, no scaling, lossless, at 30fps. This works fine and I do not get any messages in the log about lag, but the videos being recorded seem to be at maybe 20fps, not the 30fps I specified. I attached a log from earlier and hope it helps. Thank you for the help and the software itself!
 

Attachments

  • 2019-03-31 23-16-02.txt
    13.6 KB · Views: 19

TechyInAZ

New Member
You using NVENC or x264?

If you are on NVENC, try using the 1070 your gaming on and see if you get the same problems.
 
Yes, I am using NVENC due to the massive power it offers. However, I have no clue which one the Unity Engine chooses to render on and which OBS chooses to use. How can I figure that out?
 

TechyInAZ

New Member
install some monitoring software like MSI Afterburner, go into the graphs and see which GPU is being utilized when you have the game running.
 
No, I do not care at all for MSI. I'm an IT lead in the real world and personally despise MSI. No bloat on my gaming rig anyway. Steam and games. Pure drivers for every component from the manufacturer of the individual components. For example, I do not go to ASRock for my board drivers, I go to Intel since the components are all Intel.

I just uploaded a video recorded in lossless of a quick bit of playing. The entire time the framerate was between 60 and 82fps in-game and again, it only has to record 30fps, but this seems way lower than 30fps, like 20 or 25.I have monitored usage and CPU usage is not anywhere near max.

Demo Video
 

TechyInAZ

New Member
Um ok. I'm just saying use the monitoring software just to see, not like you have to run it 24/7.

Either way, you can use EVGA Precision XOC too. The monitoring software there should give you GPU usages on both chips.
 
There should be an easier way than installing bloat, which permanently alters your registry. I believe the game uses the second card however. What I noted was that the cards are detected in reverse for whatever reason. I have one card in PCI-E slot 1, and one in PCI-E slot 3. The one in slot 3 is listed as the first card and the one closest to the CPU, in slot 1, is listed as card 2. This is within the nVidia Control Panel. As such, it claims that my monitor is connected to DisplayPort 0 on the second card. I do not believe that matters.

Anyway, I set OBS to use GPU 1 and the framerate in-game went way down. As in, into the 40's and peaked around 60. This tells me that the card in PCI-E 1 is being used for games which do not support SLI. So the first card, which is in slot 3 is free and is also the one OBS uses. When I tell OBS to use GPU 0 I can achieve a max of around 141fps in certain areas and 55-85 in most more populated areas.

With that being said, I am fairly positive that OBS is using one card and the game is using the other. The in-game framerate proves that. So how can I smooth out the video more? One odd thing I noted was that setting the recorded fps to 48 made my framerate drop to 45-50 constantly. Setting it to 60 unlocks my framerate in-game again, but recording in 1440p at 60fps tends to choke once in a while. It always drops about 6 to 10 frames when recording 60fps and says I had 0.0% or 0.1% frame loss due to lag. Maybe I can afford a 512GB M.2 to solve this later, but for now 30fps would be fine if it didn't come out so choppy.

So as of now, OBS uses one 1070, the game uses the other 1070, they are coupled with a high-bandwidth SLI bridge, both cards are in X16 mode, the game averages about 68-72fps, and recording at 30fps seems choppy despite no lag being mentioned in the log and no scaling or compression being done.
 

TechyInAZ

New Member
Well if you think monitoring software is bloatware, I can't help you. Permanently alters your registry? Where are you getting that? Any program alters your registry.

I digress,

Actually judging purely the frame rates according to my research isn't going to tell you still exactly what OBS is streaming on. Cause when you run OBS on the 2nd card, it still takes GPU utilization away from BOTH GPUs. Which is why this method is not the most optimal.

Worse, you can't use the NVENC (new) encoder for encoding off a different GPU than the rendering GPU, so you loose all the performance improvements that come with the new API.

FYI, I've tried this before by slapping a 750 ti in my system purely for NVENC encoding, and my performance and video performance were the same as without the 750 ti. I used to think this was due to the 750 ti's old NVENC encoder, but according to the youtube video below he confirms that running NVENC off another card doesn't work as well as it theoretically can.

Watch this video, it'll help:

 
Even when connected with the high-bandwidth SLI bridge? That's crazy! Between the massive bandwidth of PCI-E gen3 and that bridge, you'd think this would be possible. Either way, I get BETTER performance using the second card to encode, so I will do it that way for now.

To explain, I do not install applications which I do not intend to keep. The issue is the poorly written installers which fail to remove registry entries upon uninstall. The Unity Engine is a prime example of this. The larger the registry is, the longer iterations take and the slower Windows runs. You cannot defragment the registry without using a live DVD/USB with the correct software and unless you know what entries to remove when uninstalling an application, it's just a mess. I don't get BSODs, I don't get the classic slow-down (mainly caused by loads of crap being installed and/or removed, crappy registry cleaners, etc) of Windows. I also prefer open-source software as opposed to software by manufacturers competing with the manufacturer of my hardware. Nothing personal, just how I keep systems going for decades. Ask me about my Ataris, Tandy, or any number of deades old WORKING systems sometime!
 

koala

Active Member
The larger the registry is, the longer iterations take and the slower Windows runs. You cannot defragment the registry without using a live DVD/USB with the correct software and unless you know what entries to remove when uninstalling an application, it's just a mess. I don't get BSODs, I don't get the classic slow-down (mainly caused by loads of crap being installed and/or removed, crappy registry cleaners, etc) of Windows.
This all doesn't happen. It's a myth that Windows gets slower if the registry is filled or if it doesn't get defragmented (defrag is not required on SSD anyway, which is standard these days). You also doesn't need to use registry cleaners or crap cleaners. They remove stuff you don't see anyway, and sometimes they do harm by removing stuff you still need. It might look nice on openin regedit, but 1. you don't usually open regedit, and 2. looking nice doesn't make a good running Windows.
Windows runs best if left alone. Just use it. Don't clean it. It just runs. (Don't install every crap you see, either)
 

TechyInAZ

New Member
HB Bridge is NOT used for ENCODING. HB Bridges are only used when in an SLI game.

How Encoding works on another GPU:

GPU 1 sends frames to System RAM, then GPU 2 takes frames from RAM to encode it. All thru PCI-E, the GPUs never use the HB bridge because OBS is not an SLI program/game.

Not sure how you are getting better performance, but hey I'm glad it works best for you man.
 
This all doesn't happen. It's a myth that Windows gets slower if the registry is filled or if it doesn't get defragmented (defrag is not required on SSD anyway, which is standard these days). You also doesn't need to use registry cleaners or crap cleaners. They remove stuff you don't see anyway, and sometimes they do harm by removing stuff you still need. It might look nice on openin regedit, but 1. you don't usually open regedit, and 2. looking nice doesn't make a good running Windows.
Windows runs best if left alone. Just use it. Don't clean it. It just runs. (Don't install every crap you see, either)
I agree, registry cleaners do far more damage than good. I do tests at IT conferences where we do a clean install of Windows 7/8/10 and then run a slew of cleaners. Each one wants to remove crap built into the Windows install. Enough said about them.

You are misinformed about a few things though. First, registry size and fragmentation can drastically affect speed and performance. The IT firm I work for tests this stuff yearly, and I head the primary team doing the real-world work. As the physical registry file becomes fragmented (unless on an SSD, true) the slower many parts of Windows begin to run. There is however, no real-world way to "fill" the registry. The delays introduced are mainly due to head seek times on mechanical disks due to the file being larger and/or more fragmented.

The second error is that while SSDs are popular, they are not all you get. A majority of professional workstations still use high-performance SATA or SAS disks. The reason is simple. Reliability. Sure, SSDs are very good these days, but when one fails, the data is gone. If you haven't backed up lately, you may be in trouble. You can easily recover data from a failed hard disk. Oh, and longevity. Some of these units are abused for years. SSD has limited writes and while they ARE impressive and more than enough for the average consumer, professional applications, especially ones where you're building code frequently (Gentoo GNU/Linux, anybody?) can wear them out FAST.

I still use mechanical disks for long-term, large-array RAID storage. BTRFS RAID10 is nice on a home-brew NAS, and even major NAS makers use them. However, I do like the speed M.2 offers for gaming!
 
Sure thing! Here you go. It is in the game capture settings, not the global settings.
 

Attachments

  • OBS SLI Option.jpg
    OBS SLI Option.jpg
    43 KB · Views: 17
That's from the classic version of OBS. I had assumed some work would have been done by now to make SLI work, but either way it does not affect Unity Engine games since they prefer the 1990's and single card setups.
 
I have been working on this problem and still no luck. Recorded videos appear to be about 1/3 lower fps than they should be.Setting it to 48fps looks like 30fps in-game. Just general strangeness, and I am not the only one with said issue. This does not affect other games, only this one, as this fellow has also seen, so something is up. Perhaps with the version of Unity the game uses.

Then there is this guy who happens to have the same issue I do. Framerate in-game is golden, but OBS records FAR less for unknown reasons with no lag messages in the logs. It is like OBS decides to only record one frame out of every four or five. I have v-sync on in-game and I have tried the 60fps cap in-game also, but to no avail. Something isn't right.

There is even a reddit thread about this issue and this game. Something just isn't clicking. I am trying new settings in a few and will report back what I can figure out.
 
I changed The Forest to 1080p (1920x1080) and set OBS up for 1920x180 and tried again. Now I am between 118fps and 144fps (monitor is 144Hz) but still no dice. The recorded video looks choppy. It is like 30fps is actually a 20fps option, but with the 30fps size. I have tried NVENC, x264, lossless, compressed, everything. I have tried 1K and my native 2K resolutions. Nothing seems to work, and I do not understand why. In the heaviest areas of the game I dip as low as 52fps, so why can't it record at 30fps? I am not getting lag messages nor is my HDD maxing out. I can watch the activity LED and it literally only flickers for a fraction of a second about once per second. Nothing on my system is maxed out, but I cannot get a steady 30fps out of the recordings despite the game, with v-sync and G-Sync on, being between 52fps and 144fps.
 
Top