Windows cannot always allocate maximum system resources for applications based on the Video SDK, especially when the application contains numerous SDK objects, plugins, and external MServer.exe processes. In such cases, users may experience performance issues like audio or video drops and stuttering, even when CPU load appears to be around 80% — 85%.
These performance problems may arise because Windows does not prioritize some of the many MServer.exe processes. Instead, the system attempts to free up resources for other potential tasks, leading to insufficient process time for necessary calculations.
Manually Adjusting Process Priority
The simplest method to increase process priority is through the Windows Task Manager:
-
Open Task Manager (Ctrl + Shift + Esc).
-
Navigate to the Details tab.
-
Find all MServer.exe processes.
-
Right-click each process, select Set Priority, and choose Realtime.
Automatic Adjusting Process Priority (C#)
You can programmatically set process priorities. The following C# example retrieves all child processes of the application and sets their priority:
List<Process> AppProcesses = Process.GetProcessesByName("MServer").ToList();
AppProcesses.Add(Process.GetCurrentProcess());
foreach (Process AppProcess in AppProcesses)
{
AppProcess.PriorityBoostEnabled = true;
AppProcess.PriorityClass = ProcessPriorityClass.RealTime;
}
But if your application is already built and there is no way to rebuild it, you can configure process priority using the Windows Registry:
For detailed instructions on modifying the Windows Registry to set process priorities, refer to the guide:
How to Permanently Set Priority Processes Using Registry Editor