Mavflight09
New Member
Hey guys, I have a few questions that I was wondering if you guys could help me out with.
My setup:
- i7-8700k oc 4.8ghz
- 16gb RAM 3400mhz CAS: 19-19-19-39
- Too many hard drives and ssd's
- GPU 0: UHD Graphics 630
- GPU 1: GTX 1070
- GPU 2: GT 710
Now, my setup is GPU limited because in almost all games the 1070 is maxed out at 100% load, while the 8700k is sitting around 30-60% utilization, which is actually what I want.
This is because I almost always only have 1 program open that heavily relies on the GPU, while I often have several programs open that utilize the CPU.
My question is if I am using the UHD 630 as an encoder (QuickSync) why does having an "unrelated" GPU at 100% load (the 1070) cause OBS's output to stutter?
The same happens if I use x264 (8700k) as an encoder; if I let the fps in game go wild (uncapped, using 100% of the 1070) the output stutters and often the output ends up around 55-60 fps, even though the 1070 isn't the GPU that is encoding.
However if I cap the fps to 60 in game then the output from OBS stays solid at 60 fps.
To me this doesn't make any sense, obviously if OBS and my game were fighting over the 1070 for resources then I would expect both program's performance to suffer.
However when one GPU (1070) is dedicated to the game, while another (UHD 630) is dedicated to encoding, I expected that the output would be smooth no matter what utilization the game GPU was at.
The whole point of me changing from NVENC to QuickSync is because I hated having to manage my FPS limiter to prevent me from going over 90% utilization on the 1070 so that the output from OBS would be smooth.
Also what triggers the "encoding overloaded" message? I find that the GPU that's encoding (UHD 630) can be at 30-50% usage at 1080p but at 4k it jumps up to 70%~ usage.
However I get an "encoding overloaded" message and a bunch of frame drops in the recording. Is there a reason why the encoder gets overloaded even though the usage of the GPU only goes up to about 70%? If it's "overloaded" I would expect the IGPU to be pinned at 100% utilization.
Same thing with the CPU, in x264 encoding sometimes I'll get frame drops and an "encoding overloaded" message, but the CPU will only be at 70%~ total utilization.
Is this because of what I said above? (Having the game GPU at 100%)
I was even considering getting another GPU (1050-1060 ish) as a dedicated encoding GPU, but if I still have to play the balancing act with my FPS limiter then whats the point of having a dedicated encoding GPU?
Does anyone have some recommendations for the issue I'm having? Am I simply delusional about how separate GPU's for encoding works? Is this just kinda how it is? Or am I actually missing something?
Would my idea work? (Having 1 GPU dedicated to the game, while having another dedicated to encoding the game output)
The reason I would like to do this is because A. I dislike having to mess about with my FPS limiter every time I play a game to make sure I leave enough GPU headroom so that output doesn't stutter. And B. I really want 100% of my 1070 dedicated to giving me the most fps in game.
Also all of the above could be a mute point if this next question is an actual issue.
I noticed that the output of the video file encoded by the UHD 630 Graphics has some artifacts at the very beginning of the recording. At first I thought is was artifacts from my hard drive being too slow and having to "catch up" to the recording, but once it "got ahead" the artifacts went away.
However I noticed even if I put the video file onto my M.2 NVME SSD (Adata SX8200) the artifacts remain, and there is no way an SSD capable of 3.2 GB/s read is too slow for a video file.
This still may be true though, as the artifacts get worse the higher I set the bitrate. At 85,000 kbps the artifacts last less than a second at the beginning of the video file.
However at at 200,000 kbps the artifacts last for maybe 2 seconds at the beginning of the file.
Just for fun at 400,000 kbps the artifacts last maybe the first 5-12 seconds of the file, and also at the end. But I think this is a bit ridiculous.
Is there anyway to get rid of these artifacts? I guess just lower the bitrate? Would recording to one of my SSD's help with the issue?
Last what's up with the YUV Color Range being borked? I was messing around with the "Color Space" and "Color Range" and found that upping the color space from 601 to 709 made the image look better, as 601 looked really washed out.
I expected changing the color range from partial to full to be the same as changing it in Nvidia Control Panel for example. However doing this just ends up with the image being really blown out, I took some screen shots here: https://imgur.com/a/ktsHR5G
Is there any reason why this happens? Is it as simply as "set it to partial and forget"? Or am I missing something? I think the benefits of having a higher Color Range could be useful.
Does anyone have any recommendations for what to encode with? I find that QuickSync works the best for me but has artifacts. x264 encoding at the same bitrate as QuickSync just doesn't look as nice, and hogs way too much CPU resources. NVENC requires me to set the fps limiter even lower in game but looks alright.
Would having a separate GPU for encoding be the best of both worlds? ( As in looks as good as QuickSync, but doesn't have the artifacts, but also doesn't require me to set my FPS limiter at all (Which is what I would like to be able to do.))
What about "professional" GPU's for encoding? Would an Nvidia Quadro or AMD Firepro work any better for encoding than a consumer GPU?
I got my recording settings from here: https://obsproject.com/forum/resour...lity-recording-and-multiple-audio-tracks.221/
And fine tuned the QuickSync settings from here: https://obsproject.com/forum/resources/custom-parameters-of-quicksync.104/
Screenshots of artifacts using QuickSync and each encoder's settings here: https://imgur.com/a/nTOhTBg
YUV Color Range issue screenshots here: https://imgur.com/a/ktsHR5G
I've attached log's with each of my encoding settings and they are labeled accordingly.
Thank you guys for any help you can give me!
My setup:
- i7-8700k oc 4.8ghz
- 16gb RAM 3400mhz CAS: 19-19-19-39
- Too many hard drives and ssd's
- GPU 0: UHD Graphics 630
- GPU 1: GTX 1070
- GPU 2: GT 710
Now, my setup is GPU limited because in almost all games the 1070 is maxed out at 100% load, while the 8700k is sitting around 30-60% utilization, which is actually what I want.
This is because I almost always only have 1 program open that heavily relies on the GPU, while I often have several programs open that utilize the CPU.
My question is if I am using the UHD 630 as an encoder (QuickSync) why does having an "unrelated" GPU at 100% load (the 1070) cause OBS's output to stutter?
The same happens if I use x264 (8700k) as an encoder; if I let the fps in game go wild (uncapped, using 100% of the 1070) the output stutters and often the output ends up around 55-60 fps, even though the 1070 isn't the GPU that is encoding.
However if I cap the fps to 60 in game then the output from OBS stays solid at 60 fps.
To me this doesn't make any sense, obviously if OBS and my game were fighting over the 1070 for resources then I would expect both program's performance to suffer.
However when one GPU (1070) is dedicated to the game, while another (UHD 630) is dedicated to encoding, I expected that the output would be smooth no matter what utilization the game GPU was at.
The whole point of me changing from NVENC to QuickSync is because I hated having to manage my FPS limiter to prevent me from going over 90% utilization on the 1070 so that the output from OBS would be smooth.
Also what triggers the "encoding overloaded" message? I find that the GPU that's encoding (UHD 630) can be at 30-50% usage at 1080p but at 4k it jumps up to 70%~ usage.
However I get an "encoding overloaded" message and a bunch of frame drops in the recording. Is there a reason why the encoder gets overloaded even though the usage of the GPU only goes up to about 70%? If it's "overloaded" I would expect the IGPU to be pinned at 100% utilization.
Same thing with the CPU, in x264 encoding sometimes I'll get frame drops and an "encoding overloaded" message, but the CPU will only be at 70%~ total utilization.
Is this because of what I said above? (Having the game GPU at 100%)
I was even considering getting another GPU (1050-1060 ish) as a dedicated encoding GPU, but if I still have to play the balancing act with my FPS limiter then whats the point of having a dedicated encoding GPU?
Does anyone have some recommendations for the issue I'm having? Am I simply delusional about how separate GPU's for encoding works? Is this just kinda how it is? Or am I actually missing something?
Would my idea work? (Having 1 GPU dedicated to the game, while having another dedicated to encoding the game output)
The reason I would like to do this is because A. I dislike having to mess about with my FPS limiter every time I play a game to make sure I leave enough GPU headroom so that output doesn't stutter. And B. I really want 100% of my 1070 dedicated to giving me the most fps in game.
Also all of the above could be a mute point if this next question is an actual issue.
I noticed that the output of the video file encoded by the UHD 630 Graphics has some artifacts at the very beginning of the recording. At first I thought is was artifacts from my hard drive being too slow and having to "catch up" to the recording, but once it "got ahead" the artifacts went away.
However I noticed even if I put the video file onto my M.2 NVME SSD (Adata SX8200) the artifacts remain, and there is no way an SSD capable of 3.2 GB/s read is too slow for a video file.
This still may be true though, as the artifacts get worse the higher I set the bitrate. At 85,000 kbps the artifacts last less than a second at the beginning of the video file.
However at at 200,000 kbps the artifacts last for maybe 2 seconds at the beginning of the file.
Just for fun at 400,000 kbps the artifacts last maybe the first 5-12 seconds of the file, and also at the end. But I think this is a bit ridiculous.
Is there anyway to get rid of these artifacts? I guess just lower the bitrate? Would recording to one of my SSD's help with the issue?
Last what's up with the YUV Color Range being borked? I was messing around with the "Color Space" and "Color Range" and found that upping the color space from 601 to 709 made the image look better, as 601 looked really washed out.
I expected changing the color range from partial to full to be the same as changing it in Nvidia Control Panel for example. However doing this just ends up with the image being really blown out, I took some screen shots here: https://imgur.com/a/ktsHR5G
Is there any reason why this happens? Is it as simply as "set it to partial and forget"? Or am I missing something? I think the benefits of having a higher Color Range could be useful.
Does anyone have any recommendations for what to encode with? I find that QuickSync works the best for me but has artifacts. x264 encoding at the same bitrate as QuickSync just doesn't look as nice, and hogs way too much CPU resources. NVENC requires me to set the fps limiter even lower in game but looks alright.
Would having a separate GPU for encoding be the best of both worlds? ( As in looks as good as QuickSync, but doesn't have the artifacts, but also doesn't require me to set my FPS limiter at all (Which is what I would like to be able to do.))
What about "professional" GPU's for encoding? Would an Nvidia Quadro or AMD Firepro work any better for encoding than a consumer GPU?
I got my recording settings from here: https://obsproject.com/forum/resour...lity-recording-and-multiple-audio-tracks.221/
And fine tuned the QuickSync settings from here: https://obsproject.com/forum/resources/custom-parameters-of-quicksync.104/
Screenshots of artifacts using QuickSync and each encoder's settings here: https://imgur.com/a/nTOhTBg
YUV Color Range issue screenshots here: https://imgur.com/a/ktsHR5G
I've attached log's with each of my encoding settings and they are labeled accordingly.
Thank you guys for any help you can give me!