Unfortunately, many aspects of OBS's functions don't actually work correctly, or well, unless it has admin operation. Namely, screen capturing of various windows and some sound devices, which windows operates, with admin restrictions. Windows is virtualized anyways, through wow32 and wow64, admins are just an elevated user, and nothing more. It's not as detrimental as it once was. An "admin" can't do any "system" rights restricted actions, unlike before, in 32-bit OS days.
Sadly, that is the common fix to most issues with programs now. So common that it's as simple as checking a box and there is no longer a warning stated about switching to "run as administrator".
Yet another reason to ditch Windblows. Seems that Micro$haft is (ab)using their industry inertia to vacuum up all they can to support their ad revenue, and don't really care about anything else. Like user privacy, or actually working well under the hood according to basic modern standards. On that last point, it really is a hack, pretty much always has been really, and has never been fixed while modern pressures make it even worse. A fix *now* is probably not going to happen either, because it would break literally everything.
Mac and Linux are both better than that, by a LOT, and not that hard to use anymore. Different, yes, and have to be learned all over again, but neither is actually *hard*. You just have to *do it*, like you've never seen a computer before, and force yourself to stick with it.
I don't think it's a burdened process issue.
No, but it could be a scheduling issue. See below.
They all have dedicated audio and video processors, natively, in every CPU and through onboard DSP chips, and within all GPUs made, since 2005.
I'm not sure that there are dedicated DSP chips, outside of a sound card itself, and even those are pretty basic. There are, however, single-instruction-multiple-data (SIMD) instructions (do the same operation to an entire array in just one cycle), multiply-and-accumulate all in one instruction ([new sample x coefficient] + accumulator -> accumulator), and similar things to make the general-purpose CPU itself cover DSP functions as well. The instruction set really is that broad.
GPU's are also designed to do exactly that, originally because video processing needs that sort of thing too, but there's no reason it can't also be used for audio. Same operations. But I don't know of any applications that actually do that.
As far as I know, audio is almost always handled on the CPU. Like you said, it's barely any load at all, and it takes extra work to route it to the GPU and back again. (at least for audio guys, who don't have much interest in graphics) So with equal functionality, less routing code, and minimal performance hit, it stays on the CPU.
---
The real problem is scheduling and buffering. In a multitasking system that only does one thing at a time (per core) and switches constantly, you have to have a buffer that records the incoming stream while the system is focused on something else, and another buffer that plays out while the system is focused on something else. Every once in a while, it grabs the entire incoming buffer, processes it all at once, and drops it in the outgoing buffer. The buffers are usually at least doubled, to remove the requirement to hit it *exactly* between the correct samples:
physical input -> buffer in1 => buffer in2 => system processing => buffer out1 => buffer out2 -> physical output
Legend:
-> is a single sample at a time
=> is the entire buffer at once (usually between 32 and 2048 samples, depending on lots of details)
If the scheduling doesn't hit the buffers before they fill up or run out, then of course you have problems. That can be fixed with better scheduling and/or bigger buffers.
- Windows seems to go with the "bigger buffer" approach, which causes problems with latency for people with even slightly complex routing that ends up going through Windows' audio system multiple times. Each hop between apps is another trip through the system.
- My favorite operating system - Ubuntu Studio Linux (one of the easy ones to switch to if you know nothing anyway) - is far better scheduled, which allows the buffers to stay small and still be rock-solid.