DPC, Cubase, Windows

I feel a bit like I’m chasing a monster and not going to like when I catch it!

I’ve been using Cubase/Windows for years and have become accustomed to having to isolate some issues or wait for some “fixes”. While I have not been using it actively recently, I have been trying to keep up with versions.

That said, I have been progressively having more difficulties on newer and allegedly more powerful hardware and “mature” software with ever more features.

In order to cover as much as possible, I will be making multiple posts to this thread, attempting to give some history and status. I will NOT remember every detail but will try to be thorough.

To begin, I had Cubase running pretty reliably on much older hardware under Windows 10. Flash forward to today and with relatively screaming hardware, am having a variety of issues that seem to have gotten worse as things “progressed”.

I’ve tried so many things that I will not be able to detail them. Having said that, I’m going to take a deep breath, cover some history, then proceed with some more methodical approaches to attempt to discover things that I ultimately believe should be solved with Windows/Cubase developer and regression tests.

I hope this will ultimately be helpful, but if not, please skip this thread, I will try to be patient and helpful, but I’ve been “trying this” and reconfiguring that until I can’t take much more.

I’m hoping to create a methodical (or at least documented and repeatable) lists of experiments to search for some signs of hope for the hardware/software I’m heavily invested in.

I wish I could trust trying out this stuff on a virtual machine to ease snapshots and backing out of dead ends, but I have no faith that Cubase would run reliably in a virtual machine.

Watch for more!

1 Like

I will start with providing some system info for two machines I was using (one in the studio and one at home). One of these machines has been retired from Windows and is intermittently used to run Fedora.

I’m willing to do some experiments as needed on the remaining old machine as needed, but hope to focus on the newer technology and isolating the problems and workaround, assuming they exist.

Here is the system info for the old machine with Windows 10.

Following…
I have issues with wdf01000.sys and of course Nvidia driver nvlddmkm.sys.
Sometimes ntoskrnl.sys.
Win 11, Cubase 13.

ASUS ROG STRIX Z690-A GAMING WIFI D4 Motherboard - Intel Z690 - Intel LGA1700
Intel Core i9-12900K Alder Lake CPU - 16 kerner 3.2 GHz - Intel LGA1700 .
ASUS GeForce RTX 3070 DUAL V2

Here’s the result of a short run on this Windows 10 machine from Latencymon with no other applications (except some typical tasks I’ve mostly been able to ignore, no other apps open).


CONCLUSION


Your system appears to be suitable for handling real-time audio and other tasks without dropouts.
LatencyMon has been analyzing your system for 0:22:54 (h:mm:ss) on all processors.


SYSTEM INFORMATION


Computer name: STUDIO1
OS version: Windows 10, 10.0, version 2009, build: 19045 (x64)
Hardware: All Series, ASUS
BIOS: 3503
CPU: GenuineIntel Intel(R) Core™ i7-4790K CPU @ 4.00GHz
Logical processors: 8
Processor groups: 1
Processor group size: 8
RAM: 16326 MB total


CPU SPEED


Reported CPU speed (WMI): 4001 MHz
Reported CPU speed (registry): 3998 MHz

Note: reported execution times may be calculated based on a fixed reported CPU speed. Disable variable speed settings like Intel Speed Step and AMD Cool N Quiet in the BIOS setup for more accurate results.


MEASURED INTERRUPT TO USER PROCESS LATENCIES


The interrupt to process latency reflects the measured interval that a usermode process needed to respond to a hardware request from the moment the interrupt service routine started execution. This includes the scheduling and execution of a DPC routine, the signaling of an event and the waking up of a usermode thread from an idle wait state in response to that event.

Highest measured interrupt to process latency (µs): 202.0
Average measured interrupt to process latency (µs): 3.772993

Highest measured interrupt to DPC latency (µs): 187.20
Average measured interrupt to DPC latency (µs): 0.854294


REPORTED ISRs


Interrupt service routines are routines installed by the OS and device drivers that execute in response to a hardware interrupt signal.

Highest ISR routine execution time (µs): 151.264882
Driver with highest ISR routine execution time: dxgkrnl.sys - DirectX Graphics Kernel, Microsoft Corporation

Highest reported total ISR routine time (%): 0.005759
Driver with highest ISR total time: dxgkrnl.sys - DirectX Graphics Kernel, Microsoft Corporation

Total time spent in ISRs (%) 0.006553

ISR count (execution time <250 µs): 41578
ISR count (execution time 250-500 µs): 0
ISR count (execution time 500-1000 µs): 0
ISR count (execution time 1000-2000 µs): 0
ISR count (execution time 2000-4000 µs): 0
ISR count (execution time >=4000 µs): 0


REPORTED DPCs


DPC routines are part of the interrupt servicing dispatch mechanism and disable the possibility for a process to utilize the CPU while it is interrupted until the DPC has finished execution.

Highest DPC routine execution time (µs): 343.335418
Driver with highest DPC routine execution time: nvlddmkm.sys - NVIDIA Windows Kernel Mode Driver, Version 546.17 , NVIDIA Corporation

Highest reported total DPC routine time (%): 0.004708
Driver with highest DPC total execution time: storport.sys - Microsoft Storage Port Driver, Microsoft Corporation

Total time spent in DPCs (%) 0.022036

DPC count (execution time <250 µs): 926673
DPC count (execution time 250-500 µs): 0
DPC count (execution time 500-10000 µs): 5
DPC count (execution time 1000-2000 µs): 0
DPC count (execution time 2000-4000 µs): 0
DPC count (execution time >=4000 µs): 0


REPORTED HARD PAGEFAULTS


Hard pagefaults are events that get triggered by making use of virtual memory that is not resident in RAM but backed by a memory mapped file on disk. The process of resolving the hard pagefault requires reading in the memory from disk while the process is interrupted and blocked from execution.

NOTE: some processes were hit by hard pagefaults. If these were programs producing audio, they are likely to interrupt the audio stream resulting in dropouts, clicks and pops. Check the Processes tab to see which programs were hit.

Process with highest pagefault count: msmpeng.exe

Total number of hard pagefaults 23549
Hard pagefault count of hardest hit process: 13436
Number of processes hit: 67


PER CPU DATA


CPU 0 Interrupt cycle time (s): 10.462356
CPU 0 ISR highest execution time (µs): 151.264882
CPU 0 ISR total execution time (s): 0.720020
CPU 0 ISR count: 41563
CPU 0 DPC highest execution time (µs): 343.335418
CPU 0 DPC total execution time (s): 1.887360
CPU 0 DPC count: 708966


CPU 1 Interrupt cycle time (s): 6.117365
CPU 1 ISR highest execution time (µs): 75.888194
CPU 1 ISR total execution time (s): 0.000361
CPU 1 ISR count: 15
CPU 1 DPC highest execution time (µs): 72.306153
CPU 1 DPC total execution time (s): 0.003787
CPU 1 DPC count: 1103


CPU 2 Interrupt cycle time (s): 7.99620
CPU 2 ISR highest execution time (µs): 0.0
CPU 2 ISR total execution time (s): 0.0
CPU 2 ISR count: 0
CPU 2 DPC highest execution time (µs): 215.021511
CPU 2 DPC total execution time (s): 0.161722
CPU 2 DPC count: 64861


CPU 3 Interrupt cycle time (s): 9.664727
CPU 3 ISR highest execution time (µs): 0.0
CPU 3 ISR total execution time (s): 0.0
CPU 3 ISR count: 0
CPU 3 DPC highest execution time (µs): 205.535268
CPU 3 DPC total execution time (s): 0.094373
CPU 3 DPC count: 21122


CPU 4 Interrupt cycle time (s): 6.504207
CPU 4 ISR highest execution time (µs): 0.0
CPU 4 ISR total execution time (s): 0.0
CPU 4 ISR count: 0
CPU 4 DPC highest execution time (µs): 101.782391
CPU 4 DPC total execution time (s): 0.145849
CPU 4 DPC count: 73108


CPU 5 Interrupt cycle time (s): 8.319912
CPU 5 ISR highest execution time (µs): 0.0
CPU 5 ISR total execution time (s): 0.0
CPU 5 ISR count: 0
CPU 5 DPC highest execution time (µs): 58.908204
CPU 5 DPC total execution time (s): 0.003896
CPU 5 DPC count: 947


CPU 6 Interrupt cycle time (s): 6.468186
CPU 6 ISR highest execution time (µs): 0.0
CPU 6 ISR total execution time (s): 0.0
CPU 6 ISR count: 0
CPU 6 DPC highest execution time (µs): 152.207104
CPU 6 DPC total execution time (s): 0.112771
CPU 6 DPC count: 54593


CPU 7 Interrupt cycle time (s): 7.467841
CPU 7 ISR highest execution time (µs): 0.0
CPU 7 ISR total execution time (s): 0.0
CPU 7 ISR count: 0
CPU 7 DPC highest execution time (µs): 63.890445
CPU 7 DPC total execution time (s): 0.012726
CPU 7 DPC count: 1978


I’ve seen severe issues with wdf010000.sys and ntoskrnl.sys as you say. I’ll get to the details a bit later in the thread. My latest build is just coming online and I’ve had numerous issues already.

My plan is to use this latest build to experiment a bit (at least as my patience allows).

Mine is similar: MSI Z790 Tomahawk WIFI Intel i9 14000K LGA1700 8 P core 16 E core 3.2 GHz GeForce 3060.

My fastest machine by far, and having the most severe issues!

The second older machine, I will not be able to provide the same detail. It is somewhat similar to the first but based on an Intel DX58SO motherboard. If I feel it becomes relevant, I will gather more detail, but the specs are similar to the first.

All this really came to a head with my recent upgrades to Windows 11 and Cubase 13 on a “main” machine. Even with Windows 11 and Cubase 12, I had a few “issues” but was able to function without pulling out what hair I have left.

I can get Cubase 13 to work, with the caveat that it’s easily upset. That said, I was still able to run 8 Arturia V Collection virtual instruments without serious issues. However occasional “overload” would occur that did not seem to indicate they were from ASIO, CPU, or Disk Cache but with the red overload indication.

I also had relatively persistent issues with Cubase not shutting down properly in Cubase 13. I do not recall that issue with Cubase 12. Also Cubase 12 indicates less performance meter fluctuations. Closing the project before shutting down SEEMED to reduce this issue.

Notably, if I started up LatencyMon with Cubase 13, it would consistently cause the overload indicator in Cubase 13. VERY REPEATEABLE!

System Info

Not to get mired in the history of this, I’m now perhaps errantly focused on experiments with the new machine that I have not yet put into service but am having severe issues. I’m a bit frustrated that the official position seems to be contrary to my using this machine with newer Intel processor. Having said that, I see no value in analyzing this on an old machine, soon to be obsolete.

I may still try some things on my “main” (general purpose) machine. However, my goal is to move to a mostly-audio machine based on the new platform. Suffice to say that machine was an i9 10900K CPU with 64GB RAM. I’ll provide more detail on this later.

My current plan is to make the new machine a dual-boot with Windows 10 on one partition and Windows 11 on the other. I do not know if Windows 10 will have issues on this newer architecture but will find out, I suppose. I’ll provide more detail as I get into the experiment.

Step 1: Set BIOS to default settings and configure dual-boot Windows 10/11.
Step 2: Install Cubase 12 for initial baseline testing.

This is going to be “fun”!

Test machine for these experiments:

MB: MSI Z790 Tomahawk WIFI (MS-7D91)
CPU: Intel Core i9-14900K
Mem: 64 GB G.Skill
BIOS: E7D91IMS.H90 11/06/2023

GPU: Zotac RTX3060
Drive: Samsung 990 Pro 2TB M.2 SSD (2 partitions for Windows 10/11)
PSU: Corsair RM1000X 1000Watt
Cooler: DeepCool LS720 360MM

Minor correction:

I will be using two SSD. I had forgotten about how Windows wants to partition the drive.

Initial short-term results Cubase 11. Using Dom’s test procedure:

Windows 10 - 178 MIDI folders buffer size = 512
Windows 11 - 161 MIDI folders with buffer size = 512.

Next step will be longer-term repeat to verify results.

Note: In both cases, no special tweaks have been done. Both cases use the same hardware and BIOS defaults.

“but it :joy:was able to function without pulling out what hair I have left.” LOL

Initial short-term results Cubase 12 using Dom’s test procedure:

Windows 10 - 200 MIDI Folders for buffer = 512 (ASIO bar full but no overrun)
Windows 11 - 194 MIDI Folders for buffer = 512 (ASIO bar full but no overrun)

Note that for these initial tests I’m using a Focusrite 2i4 ASIO driver. I expect different results, depending on the ASIO driver in use. I will be trying others after completing initial tests.

Note again, I have not changed any default preferences in Cubase nor the BIOS.

Initial short-term results Cubase 13 using Dom’s test procedure:

Windows 10 - 193MIDI Folders for buffer = 512 (ASIO bar full but no overrun)
Windows 11 - 189MIDI Folders for buffer = 512 (ASIO bar full but no overrun)

Note that for these initial tests I’m using a Focusrite 2i4 ASIO driver. I expect different results, depending on the ASIO driver in use. I will be trying others after completing initial tests.

Note again, I have not changed any default preferences in Cubase nor the BIOS.

Note that short-term pass criteria is three repetitions of the project with no overrun nor audio glitches.

Based on initial results, it seems clear that something on the original machine is creating problems with Cubase, As this is a “general purpose” machine, there are several things installed. I have moved my available licenses to the new machine so no further testing on the original specifically using Cubase will be possible.

However, I will still investigate using LatencyMon to see if I can discern what is causing issues with latency.

I have several ASIO-capable devices, so I will be running these tests again with different hardware/drivers to discover the impact of those changes.

So far, the advice to start with a fresh Windows install appears to be sound. This eliminates whatever conflict arose on the original installation.

I will be providing additional information about the working system.

System Info for Windows 10:

OS Name Microsoft Windows 10 Home
Version 10.0.19045 Build 19045
Other OS Description Not Available
OS Manufacturer Microsoft Corporation
System Name DESKTOP-F61IULL
System Manufacturer Micro-Star International Co., Ltd.
System Model MS-7D91
System Type x64-based PC
System SKU Default string
Processor Intel(R) Core™ i9-14900K, 3200 Mhz, 24 Core(s), 32 Logical Processor(s)
BIOS Version/Date American Megatrends International, LLC. H.90, 11/6/2023
SMBIOS Version 3.6
Embedded Controller Version 255.255
BIOS Mode UEFI
BaseBoard Manufacturer Micro-Star International Co., Ltd.
BaseBoard Product MAG Z790 TOMAHAWK WIFI (MS-7D91)
BaseBoard Version 4.0
Platform Role Desktop
Secure Boot State On
PCR7 Configuration Elevation Required to View
Windows Directory C:\Windows
System Directory C:\Windows\system32
Boot Device \Device\HarddiskVolume1
Locale United States
Hardware Abstraction Layer Version = 10.0.19041.3636
User Name DESKTOP-F61IULL\David Burris
Time Zone Central Standard Time
Installed Physical Memory (RAM) 64.0 GB
Total Physical Memory 63.8 GB
Available Physical Memory 60.3 GB
Total Virtual Memory 73.3 GB
Available Virtual Memory 68.1 GB
Page File Space 9.50 GB
Page File C:\pagefile.sys
Kernel DMA Protection On
Virtualization-based security Not enabled
Device Encryption Support Elevation Required to View
Hyper-V - VM Monitor Mode Extensions Yes
Hyper-V - Second Level Address Translation Extensions Yes
Hyper-V - Virtualization Enabled in Firmware Yes
Hyper-V - Data Execution Protection Yes

System Info for Windows 11:

OS Name Microsoft Windows 11 Home
Version 10.0.22631 Build 22631
Other OS Description Not Available
OS Manufacturer Microsoft Corporation
System Name DESKTOP-5TDOB5K
System Manufacturer Micro-Star International Co., Ltd.
System Model MS-7D91
System Type x64-based PC
System SKU Default string
Processor Intel(R) Core™ i9-14900K, 3200 Mhz, 24 Core(s), 32 Logical Processor(s)
BIOS Version/Date American Megatrends International, LLC. H.90, 11/6/2023
SMBIOS Version 3.6
Embedded Controller Version 255.255
BIOS Mode UEFI
BaseBoard Manufacturer Micro-Star International Co., Ltd.
BaseBoard Product MAG Z790 TOMAHAWK WIFI (MS-7D91)
BaseBoard Version 4.0
Platform Role Desktop
Secure Boot State On
PCR7 Configuration Elevation Required to View
Windows Directory C:\Windows
System Directory C:\Windows\system32
Boot Device \Device\HarddiskVolume1
Locale United States
Hardware Abstraction Layer Version = 10.0.22621.2506
User Name DESKTOP-5TDOB5K\David Burris
Time Zone Central Standard Time
Installed Physical Memory (RAM) 64.0 GB
Total Physical Memory 63.8 GB
Available Physical Memory 59.8 GB
Total Virtual Memory 72.8 GB
Available Virtual Memory 67.2 GB
Page File Space 9.00 GB
Page File C:\pagefile.sys
Kernel DMA Protection On
Virtualization-based security Running
Virtualization-based security Required Security Properties
Virtualization-based security Available Security Properties Base Virtualization Support, Secure Boot, DMA Protection, UEFI Code Readonly, SMM Security Mitigations 1.0, Mode Based Execution Control, APIC Virtualization
Virtualization-based security Services Configured Hypervisor enforced Code Integrity
Virtualization-based security Services Running Hypervisor enforced Code Integrity
Windows Defender Application Control policy Enforced
Windows Defender Application Control user mode policy Audit
Device Encryption Support Elevation Required to View
A hypervisor has been detected. Features required for Hyper-V will not be displayed.

Repeated a subset of the short-term tests and results appear consistent with first run with all 3 Cubase version installed on both Windows 10 and Windows 11.

There does not initially seem to be any issues with Cubase version coexistence on the same machine.

Have you seen this video ?

I did what he says, and that makes a BIG difference with those two drivers :slight_smile: