Being a power user I have spent countless hours tuning systems, checking DPC latency blah blah
All of this begs the question why are we still dealing with these issues? I personally can't tell if this is exclusive to windows or is also an issue in linux. I only ever notice it windows because that is where I do most of my heavy lifting and my linux usage is purely web or biz dev.
So I'm sitting here with my nice Win10 rig running hyper-v with a couple of dev environments. I've got more CPU RAM and SSD storage you could know what to do with. I just dumped VMware workstation for hyper-v so I'm moving all my old disk images over the network for archiving. To add to the mix I'm listening to music and trying to work in my dev environment and its the pop and click all over again. I know the why's and hows but I wonder
On the face of things this is an issue with drivers... however I've seen this issue rear its head in so many various environments it can't just be the drivers
Is it the kernel, does the windows kernel just suck at working with the CPU in deciding whats important and whats not... or is it just queuing things wrong...
Finally is it just the hardware? I remember back to my Amiga days and there was a chip for everything. Now we really rely on that general CPU. Granted we have GPU's and DSPs. But when it comes to moving data around all we have is DMA and that still requires attention from the CPU. Attention that is at odds with everything else in the system.
What about
- Dedicated signal paths and CPU resources for video and audio subsystems
- Offloading the movement of data between storage and memory to a dedicated unit that has it's own registers and processing resources that software can call on minimally to do a task and leave the CPU free for other tasks.
What is the challenge with achieving some kind of real time priority for processes that need it (audio, video) and balancing resource usage with latency and multi-tasking?
---additional information: This is not on board audio, this is an audio interface running off of Fire-wire... and I'm not looking for a solution to the problem. I'm asking more of a philosophical question... why can't data streams in the system that require some real time priority get it in on today's hardware platforms and is it just too hard to implement?