I have no answer for that. However, the issue may be related to IRQ assignment as pointed out by another forums user.
There are some customers who have the problem of getting the card detected even, some have channel swapping issues and they can't be easilly solved.
There are some customers who have the problem of getting the driver installed for the USB interfaced audio devices but it is different from totally being undetected reported by some customers who installed the Sound Blaster Z / Zx / ZxR.
I only shared my experience with my system. When I said, "Windowed mode using single GPU presents no issues.", I guess I could have also stated, "...on my system" but I thought that was inferred by the fact that your setup is not the same as mine, your motherboard is different, you are using different software, etc.
There are many variables at play here.
Since I've made these changes (to my system) I've also noticed something else. Channel swapping still occurs when using Firefox (my default browser) though it is 'less' than it was previously. I tested also in Chrome and IE and I get zero channel swapping when using Chrome or IE. So the issue is also tied to how a particular software is accessing the audio hardware or how its interfacing with Windows audio layer.
From reading your post I see you use Foobar2000 (many people do and absolutely love it) and I would suggest to you, have your tried using other audio programs, not to "switch" to... but just to test the channel swapping issue? Try some other variants and see if the issue persists. It is possible that Foobar2000 is causing the issue and you could possibly raise a bug for their support team to take a look at.
Firefox definitely has issues which sucks for me because I've used it forever but I'm getting used to using Chrome now because I don't have any issues using Chrome on the desktop.
I do still get channel swapping when ALT-tabbing in/out of BF4 however no other games do this so here again, its something about how some particular software is accessing the audio layer.
I'm just like you, I want to figure out a fix or a workaround so the irritating hassle will disappear.
It could very well be the Creative drivers causing the issue. It is just odd that some software that does the same things as other software, don't cause channel swapping.
Last edited by Cinnabuns; 12-23-2015 at 08:05 AM.
I believe I've actually found out what the issue is! Don't get too excited because this MAY ONLY PERTAIN TO MY SYSTEM but it seems like this is the fix. I have not had one single channel swap after performing this fix and so I think the "conflict" has been resolved. My particular system is running Win7 x64 and the motherboard the ZXR with daughter card are plugged in to is a Gigabyte P67-UD7 rev B3. That is just my system however I think many of you can benefit from this fix.
So I'm aware of what I posted above in the last few posts and I'm here to say that, yeah, I was wrong. I had channel swapping still albiet LESS so after forcing the system to re-assign IRQs. For a couple days this lessened the issue to the extent that It was hardly annoying but after a short time, like a week, the issue was back in all its glory, all the time.
Channel swapping when I moused around over different youtube videos, left rear, right rear, left front, center again... freaking SSOOOO annoying.
I was actually looking at another system issue and stumbled on this solution so here it is. This fix has been in place now for 3 days and I have not experienced one single channel swap so I'm posting this here so others might benefit.
Windows uses a "High Precision Event Timer" and devices that are plugged in to the PCI/PCIe bus rely on these timings to operate correctly. If you look under the Device Manager under System Devices you can see this guy in there.
SOME motherboards, particularly mid to higher end motherboards come with a built in physical device on the motherboard that allows the motherboard to dictate events that occur along its architecture.
The issue is the OS using Windows built in software HPET (high precision event timer), or is it using the motherboards hardware driven (which should IN THEORY be faster) HPET.
I ran some commands to force windows to use the onboard Gigabyte HPET since I have always had it enabled and tHOUGHT that Windows was using it because it was enabled on the board. I THOUGHT that the "High Precision Event Timer" installed in Device Manager WAS the driver/device FOR the onboard Gigabyte HPET device... IT IS NOT.
It is separate!
So I have my onboard HPET enabled and Windows has its OWN software HPET virtual device running these two things were conflicting causing the audio card to flake out.
I ran some quick tests on both Gigabytes HPET and Win7 HPET using DPC Latency checker and some command line bcdedit switches that toggle Windows to use the onboard or its own. I found that using Windows built in had better latency on my particular board. Like 700micro seconds vs. 7 micro seconds.
In any case it didn't matter. What DID matter was that I PICKED ONE. I decided to use Windows HPET so I went in to the BIOS and DISABLED HPET x64 TIMER. Now there was no device for the OS to recognize or use and Windows had no choice but to use its own. Now I get no channel swapping at all and I've tried the numerous things that cause it to happen and none of them do anything any more.
So TLDR; just TRY disabling HPET in the BIOS completely for your motherboard. Use Windows only in-built HPET and see if the issue isn't resolved.
This MAY also work if you enable it in the BIOS and FORCE Windows to use it, otherwise the two will conflict.
Last edited by Cinnabuns; 03-20-2017 at 01:25 AM.
UPDATE, I have 0 channel swapping when the BIOS HPET is completely disabled EXCEPT for running KODI while using a web browser. KODI is Open Source so it may depend on one timing whille Windows has favored a different one causing the issue. However, when setting BIOS HPET to Enabled and x64 bit, AND setting Windows to use it with the command:
bcdedit /set bcdedit /set useplatformclock true
in an Elevated command prompt, I have no channel swapping at all, even with multiple Firefox instances open and KODI open and playing video.
So basically in a nutshell, you need to pick a timer that Windows should use. NOT give it the "option" of deciding on its own.
I have not tried setting BIOS HPET to off, and issuing the command "bcdedit /set useplatformclock true" which tells Windows to use LAPIC ONLY.
from this thread: https://www.neowin.net/forum/topic/1...mance-and-fps/
From the thread:
TSC+LAPICs Low performance (slow timers + syncing) = 2.76MHz
LAPICs low performance (slow timer - no syncing) = 3.5Mhz
TSC+HPET medium performance (slow and fast timer + syncing) = 3.8Mhz
HPET high performance (fast timer - no syncing) = 14.3MHz
The thread states that some users reported a few less FPS using HPET however, it DOES resolve the channel swapping issue so I'll happily take it!
If you have HPET enabled and have NOT forced Windows to use it via the Administrative Command Prompt it will use
HPET+TSC+LAPIC and decide on its own which SEEMS to be causing the channel swapping.
If you have HPET in the BIOS disabled, Windows uses TSC+LAPICs Low performance (slow timers + syncing) = 2.76MHz and decides which is best on its own.
If you have HPET disabled in the BIOS and FORCE Windows, using "bcdedit /set useplatformclock true", Windows will use LAPIC only, which should resolve issues in MOST cases.
If you have HPET enabled in the BIOS and FORCE Windows, using "bcdedit /set useplatformclock true", Windows will use the onboard HPET timer only and this has completely resolved all of my channel switching issues.
I wonder why Creative does not have any information regarding this issue in the database for users to search...
If you guys find anything else out testing, please let me know and I'll update further if I find any unaccounted for issues.
Again, this is on my system Gigabyte P67-UD7 rev B3 with Sandy Bridge 2600K processor @4.4ghz.
Last edited by Cinnabuns; Today at 05:08 AM.