A few words about LatencyMon...
First and foremost, LatencyMon is a program which can help you IDENTIFY processes and/or drivers which cause interruptions which can disrupt real-time audio operations - it does not FIX them. However, once identified, even if the result is some cryptically named software file, you can do a web search to find more information, and with any luck a method of disabling the function or perhaps a suitable replacement.
If you're running Windows 10, you should use the latest version from the Resplendence website - http://www.resplendence.com/latencymon
If you're running Windows 7, as I am, then use version 4.02 which was produced a few years ago when Win7 was the latest offering from MS. You can find this through https://softwiki.net/LatencyMon.html
. Click on the "Version" button to select LatencyMon 4.02.
For best results, disconnect your computer from the internet, and disable any real-time monitoring performed by your anti-virus/anti-malware program(s). I use Microsoft Security Essentials on my systems, which can cause Hard Pagefaults every minute or so unless I disable the "Real-time Protection" found in MSE's Settings Tab. Users of Malwarebytes Premium should just quit the program. Other anti-virus programs, such as Avast have proven to interfere with Pyramix audio processes, so you may find you need to re-consider your choice of anti-malware. I'm not saying that you should disable all anti-malware whenever you run Pyramix, but that the issues that these programs create can mask other issues LatencyMon will see. So, for the duration of your test, turn 'em all off, however you can.
When you've done all of this, start LatencyMon and click on the Tools menu entry, then clicking on Options. In its "General" tab, uncheck the box next to "Measure SMIs and CPU stalls" - for the first test. "Apply" and close the Options window.
Start the test on the "Main" tab. Let it run for 10 minutes or more, making sure not to touch your mouse or keyboard for the bulk of the test, as these can skew your results. Just watch the meters on this page, and make a note of when any sudden jumps to higher values occur. Having some idea of the timing of these interruptions can help when trying to identify their sources. When you have what feels like enough data, Stop the test.
The main things you should be looking for are DPC interruptions, as they're the most likely to be intrusive, but are also among the easiest things to deal with. ISRs are less critical, which is why a useful test can be run without including their scan. A real-time audio operation can withstand large Hard Pagefaults without glitching (just so long as they're not too frequent), as there is usually sufficient RAM available to act as a buffer, so don't be dismayed if you see the meter for these going off into the red towards the right side of the Main tab. For example, my system runs a disk fragmentation check as a Windows Service every fifteen minutes, causing LatencyMon's meter to fill up all the way to the right, yet I seldom if ever have found this to be a problem while running Pyramix.
On the "Stats" tab, you will see entries showing information about the various types of interruptions found, including the source of each type's (DPC, ISR, Hard Pagefault) highest count. On an optimized system, this will usually be file names ending with the ".sys" suffix, showing that they are part of Windows. Remember that all these kinds of interruptions are part and parcel of normal computer operation. A computer which does not generate DPC, ISR and Pagefault interruptions is one that is turned off, so you have to use judgement when determining which of these are excessive
and which are simply necessary parts of normal operation.
Further down the "Stats" tab, where you can see information for each of the kinds of interruptions found, with the source of the most numerous given in the second line of each section. On a well-tuned system, these will probably be file names ending with the ".sys" suffix, indicating that they are part of Windows. If you see something else, it may point to some third-party software you've installed, which is performing background polling or scanning of your system, or attempting to communicate with the software vendor or worst of all, with a virus or malware maker.
If you see a program you've installed and know about already, quit or disable it and run the test again. If you see a significant improvement, then you know that you either have to find a replacement, or learn to live without it. In my case, I've found that the use of Microsoft Security Essentials with its Real-time Protection enabled, is a source of large Hard Pagefaults, so I know that if I have a particularly heavy Pyramix project involving higher track counts, high sample-rates and word-lengths with a lot of plug-in processing, then I should take my machine off the internet and disable MSE's protection, then re-enabling it later when I'm done and want to re-establish contact with the internet. For what it's worth, I've found that MSE is one of the lighter and least intrusive of all the anti-virus programs out there. People have reported issues with Avast in the past, and I know it's not recommended by Merging.
Unfortunately, what you're more likely to discover is that some process or hardware driver is causing your grief. You can discover more information by looking at LatencyMon's "Processes" and "Drivers" tabs, where you can order the lists of items by clicking on the various column headers. Look for sources of Pagefaults in the "Processes" tab, DPC and ISR interruptions in the "Drivers" tab. In the Drivers tab, you can scroll over to the far right side and see columns for "Product" and "Path". Looking down the "Product" column, you'll see most of the entries are from Microsoft and are part of Windows, but if you see any which have high interruption counts that come from other vendors, then you have a serious clue as to the source of your pain.
In most cases, you'll find that a source of interruptions is stemming from some obscurely named piece of software or a driver with a ".dll" suffix. In this case, your best bet is to do a web search on the file name in question, and with any luck you will find information from Microsoft, which may not be all that enlightening, or better yet, forum posts from people who have already encountered the issue you're experiencing and, with any luck, instructions for how to mitigate it or them. Sorry, I can't be more specific than that.
If you've found culprits and disabled them, and now get much more favourable results from LatencyMon, go to the Options once again to enable the "Measure SMI and CPU stalls" item, and then run the test again.
If LatencyMon identifies a hardware driver as the source of your issue, you need to turn it off in the Windows Device Manager. To open this, click on the Start button and type "Device Manager" and then select it from the list which appears. I've gone so far as to place a shortcut to the Device Manager on my Desktop to speed this process. Once the DM is open, you can scan down the list of the various driver categories, opening up the contents of each until you find the likely suspect identified by LatencyMon. Right-click on it, and in the pop-up, choose "Disable". All the entries will disappear for a moment and then re-appear. If you look closely at the icon for the driver you just disabled, you should see a little square with a downward pointing arrow indicating that it is indeed disabled. If you close and re-open the Device Manager, you'll find that if there are any disabled drivers present, their category heading is already opened, so this is a good way to see what you have disabled, while providing the opportunity for you to enable them once again (right-click, "Enable").
The first time you do this, is probably going to be nerve wracking - "Am I damaging my computer?" "What if I can't find my way back here to undo what I've just done?" Keep notes as you proceed, detailing each step in the disabling process, so that you can re-trace your steps if you find you have to. After a few visits to the Device Manager, you should find that it's far less daunting that it was initially, and that you can use it as just another tool for running your computer.
People running Windows on Apple computers via Bootcamp should be on the lookout for Drivers which perform regular polling or scanning operations, such as the state of Battery charge, but also the ambient light sensor, the built-in camera, Bluetooth connections, as well as wireless connections of any type. If one of these appears to be the source of your issues, click on the Start button and type "Device Manager" then click on that when it appears in the list. You'll have to hunt for the driver you've identified, by opening the various categories displayed in the DM window. Once you've found the one you want, right-click on it and in the pop-up which appears, select "Disable".
Some recent MacBook Pro machines come with two separate graphics engines, one that is suitable for day to day operations, the other which kicks in when more intense graphics processing is required. Usually it's the change-over from one to the other which will cause huge DPC interruptions, so you'll need to find some way to keep your machine running in just one all the time. Some audio processing plug-ins can have heavy graphics requirements, in which case you should take care not to have their windows displayed when you are playing or mixing audio in case it taxes your graphics hardware at an inappropriate time like when you're Mixing or Publishing a big project..
If you find a likely candidate in LatencyMon, be it a piece of software you've installed, a driver which is hogging too much processor time, or - heaven forbid - a piece of malware gobbling up your system, you'll now be better equipped to find out what and where they are, hopefully allowing you to take the steps needed to fix things. With any luck, you'll be able to fine tune your system so that the only Pyramix projects you have difficulty with are those which demand more CPU, RAM, internal Bus speed, and Drive Access than your current hardware can provide, in which case it may be time to consider the purchase of a newer, more capable computer. However, with proper and appropriate optimization, you should be able to run most Pyramix Native projects with track counts of fewer than fifty tracks on just about any computer from the last decade, unless it's something which is crippled by design such as a MS Surface or other Tablet type computer.