The issue:
XSplit Broadcaster is using some GPU resources even when you choose to use CPU encoder. In fact the GPU resources needed are really critical for a smooth streaming session. Some GPU intensive scenes where the GPU is loaded at full, results in frame stuttering in the stream. Some games requires to set low FPS cap to stream.
The solution:
Having an additional dedicated GPU for XSplit solves the issue, but XSplit does not allow to choose which GPU to use.
The workaround:
Set the GPU to be used by XSplit as Primary Display (need to hook a dummy monitor to do so). Start XSplit. Set the main monitor/GPU as primary display. Run the game.
The proposal:
Make it possible to choose which GPU XSplit will use.
My setup:
CPU: Threadripper 2950X 16 cores/32 threads
GPU 1: NVidia RTX 2080 Ti
GPU 2: NVidia GT 1030
Capture Card (For Console Streaming): Elgato 4K60
Monitor (Gameplay): 2560x1440 @ 165 Hz
Streaming Encoder: x264 CPU Slow Preset
Streaming Resolution: 1920x1080 @ 60 fps
Comments: 9
-
15 Jul, '19
Ivan ZhekovNice example of the importance of a second GPU is the game Overload. There is a specific in-game graphics setting "Screen Space Reflection" that when turned on have a great effect over the stream quality. While the game itself runs smoothly, due to lack of free GPU processing power, XSplit is struggling, resulting in a very poor stream quality. Just by making XSplit using the low end GT 1030 dedicated for its needs improves the stream as night and day.
Note this post is NOT about GPU encoding! -
30 Jul, '19
Ivan ZhekovFor those interested, I wrote a small batch file that runs XSplit on the preferred GPU. It is using a third party software named "nircmd" that helps to temporary switch main GPU. You may need to change the display numbers and the timeout to make it work for you.
@echo off
D:\Programs\nircmd\nircmdc setprimarydisplay \\.\DISPLAY1
timeout 3
start "" "C:\Program Files (x86)\SplitmediaLabs\XSplit Broadcaster\x64\XSplit.Core.exe"
timeout 10
D:\Programs\nircmd\nircmdc setprimarydisplay \\.\DISPLAY3 -
10 Sep, '19
Shadow commanderPersonally I would like to set my iGPU as the video processor, so xsplit does not use any resources of the GPU.
As a bonus would it be lovely so be able to set the cpu cores when cpu coding is used -
30 Oct, '19
GazreynA work around, you can set XSplit Broadcaster to run on the non-default GPU by adding an exe parameter. Right click your XSplit Broadcaster shortcut on the desktop, go to properties. In the target field after `XSplit.Core.exe"` add `mixeradapter:<adapterindex>` where adapter index would be 0, 1, 2 etc depending on which GPU you wanted to use. So the the target could look like `...\x64\XSplit.Core.exe" mixeradapter:1`
-
15 Nov, '19
PeriaMore recently, a new PTR has added GPU priority items to ensure that GPU resources are properly supplied.
However, even if the xsplit preview was measured when the sub-GPU was delivered, it was measured when the sub-GPU was delivered, and if the sub-GPU was designated in the preview, there was no FPS drop in the game.
I think that it is better to add items that can select GPU. -
02 Dec, '19
Gazreyn AdminI'm marking this as not planned for now. It's quite a rare thing to justify putting it in the main UI but for those techincal users that do want to do it, it's possible
-
18 Dec, '19
Ivan ZhekovAdding mixeradapter:1 works perfectly well. While I see great benefit for other users to have it part of the UI, for me jt is perfectly fine to pass it as a param. Thanks a lot!!!
-
11 Jul, '20
Nearwell based on the initial suggestion i would say is this not already a thing already implemented via NVIDIA control panel and selecting which GPU to use, or even more recently Windows now has a GPU handler which you could dictate which GPU runs which program
-
07 Aug, '20
Ivan ZhekovThat's not exactly the case. NVidia control panel does not help with XSplit as it's always the GPU attached to your main display. And the Windows GPU handler works only in case you use an integrated low-powered GPU, but does not work with two external GPUs. Moreover the same issue exists with AMD. Using XSplit Broadcaster for both gaming and streaming is causing issues with single GPU, so the ability to add a dedicated one helps a lot, but there is no control in the application.