Counter Strike 2: Is the "-high" option worth it?

Counter-Strike 2, the long-awaited sequel to the popular first-person shooter series, brought with it many new features and improvements. One aspect that has received a lot of attention, however, is the game’s performance, particularly with regard to process priority.
Players have experimented with setting the game’s process priority high in an attempt to improve performance by adding the “-high” option to the Launch Options, but not all players have found this approach to be successful.
The purpose of this article is to provide a brief introduction to process prioritization and offer a more stable option for running the Counter-Strike 2 process with maximum performance.

The Priority Process

cs2.exe process priority

Process priority is a numerical value that determines the relative importance of a process compared to other processes in the system. Higher priority processes receive more CPU time, meaning they are executed more frequently and faster.
This ensures that critical processes, such as the operating system or real-time applications, always have sufficient resources to run, even if the system is heavily loaded. The operating system can set this automatically, or it can be set manually by the user.

The Affinity Process

cs2.exe process affinity

Another important term to note is process affinity. Process affinity is a mechanism that allows a process to be bound to a specific processor or core. This means that the process will only run on that particular processor.
Process priority and process affinity are two important concepts in operating systems that influence how processes are executed on a computer. There is no need to adjust the process affinity of Counter-Strike 2 (cs2.exe) because the game is modern and its architecture is already highly optimized for efficient operation on multi-core processors. However, adjusting this mechanism on older computers can lead to positive results.
Game developers, especially those of popular and resource-intensive games like Counter-Strike 2, pay great attention to optimization. They ensure optimal automatic load distribution among all available processor cores, using the most advanced algorithms and technologies. Additionally, the team at Valve has taken care of multi-threading and dynamic load balancing. Therefore, manual adjustment of affinity in such cases can do more harm than good.
The architecture of older processors has a less efficient load distribution system, and manual adjustment of affinity could help optimize the game’s performance for a specific configuration. Also, manual adjustment of affinity can isolate the game from other applications, such as background processes, which could compete for processor resources.

What Does High Priority Provide?

Running the game with high priority means that the operating system allocates more computational resources, such as CPU time and RAM, to the game. This is done to make the game run more smoothly and without delays, giving it preference over other running applications. Running the game with high priority can be useful if your computer is not very powerful; setting high priority for the game can help improve its performance. It is also useful in multitasking scenarios. If you run multiple applications simultaneously, high priority for the game helps it run more stably, without slowing down due to other tasks, such as the constant operation of an antivirus, which is often resource-intensive.

How Does It Work?

The operating system constantly distributes resources among the various programs running on the computer. When you set high priority for the game, you are telling the system that this game is the most important at the moment. Most of the computational work in the game is done by the processor. With high priority, the game gets more “time” to run on the processor, allowing it to perform more calculations per unit of time.
RAM is used to store data that programs actively use. A game with high priority can occupy more RAM, which also contributes to smoother operation.

High Priority for the cs2.exe Process

Screenshot of Counter-Strike 2 Launch Options window with various settings and configurations.

The developers of Counter-Strike 2 have provided the option to run the game with high priority, which can be done by adding the “-high” option to the game’s Launch Options. A significant number of players report that the game becomes more responsive and smoother, but they also experience sudden freezes and even crashes.
This can happen due to conflicts with other processes. If your computer is running many other resource-intensive programs, constantly allocating maximum priority to CS2 can lead to system instability and, consequently, lag. Additionally, in some cases, the operating system may limit the operation of processes, even if they have been assigned high priority by the application. Therefore, it is recommended to set the priority not in the application (in our case, CS2) but in the operating system’s registry.
Configuring through the registry can be less resource-intensive than constantly using the “-high” option. Setting the priority through the registry makes the system more stable in resource distribution.

Configuring High Priority for the cs2.exe Process via the Windows Registry

Open the Registry Editor

Run the regedit.exe file, which is located in the system root folder, to open the Registry Editor:

				
					C:\Windows\regedit.exe
				
			

The system root folder, C:\Windows\, is included in the system environment variables, so you can launch the registry editor without specifying the full path from Command Prompt (cmd) and PowerShell. You can also call it from the “Run” window (Win+R) or through the “Start Menu” (Win). It is not necessary to specify the .exe extension, but it is not an error.

Windows Explorer window
The path to regedit.exe file
Windows OS environment variables
Windows Environment Variables
Command Prompt window
Executing the regedit.exe file in CMD
PowerShell window
Executing the regedit.exe file in PowerShell
Windows Run dialog with regedit
Screenshot of Windows Run dialog running regedit
Windows Start menu search
Start menu search

Navigate to the following path in the registry

You can copy and paste it into the address bar of the registry editor:

				
					Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options

				
			

The system root folder, C:\Windows\, is included in the system environment variables, so you can launch the registry editor without specifying the full path from “Command Prompt” (cmd) and “PowerShell“. You can also call it from the “Run” window (Win+R) or through the “Start Menu” (Win). It is not necessary to specify the .exe extension, but it is not an error.

Create a New Key

In the \Image File Execution Options\ folder, create a new key (folder) with the name of the executable file “cs2.exe“.

Now Create a Subkey

In the \Image File Execution Options\cs2.exe\ folder, create a new key (folder) with the name “PerfOptions“.

Configure Priority

In the “PerfOptions” section (right window), create a “DWORD (32-bit) Value” parameter, name it “CpuPriorityClass“, and set the desired value. In our case, this is “3“.

Priority values:
1: Low (The process receives minimal CPU time and is used only when there are no active tasks).
2: Normal (Default).
3: High (The process will receive a higher share of CPU time and will run faster).
4: Normal (Default).
5: Below Normal (The process receives slightly less CPU time than processes with normal priority).
6: Above Normal (The process receives slightly more CPU time than processes with normal priority).

We need the decimal system, but the values up to 10 are the same in both systems, so you can leave the default hexadecimal system.

That’s it, you can close the registry editor. This way, the “cs2.exe” process will now always start with high priority.

Summary

This article discusses the impact of setting high process priority for Counter-Strike 2 (cs2.exe) to improve performance. It explains the concepts of process priority and process affinity, and how they affect the game’s operation. The article also provides a detailed guide on how to set high priority for cs2.exe using the Windows Registry, suggesting this method as a more stable alternative to using the -high option in the game’s launch options.

F.A.Q.

What is process priority and why is it important?

Process priority is a numerical value that determines the relative importance of a process compared to others. It is important because it influences how much CPU time and resources a process receives, affecting its performance.

What is process affinity and should I adjust it for CS2?

Process affinity binds a process to a specific processor or core. For Counter-Strike 2, adjusting process affinity is generally not recommended because the game is already optimized for multi-core processors. However, it might be beneficial for older computers.

What does setting high priority for a game do?

Setting high priority for a game allocates more computational resources, such as CPU time and RAM, to the game. This can make the game run more smoothly and without delays, especially on less powerful computers or in multitasking scenarios.

How does the "-high" option work in CS2?

The “-high” option sets the game’s process priority to high, making the operating system allocate more resources to the game. However, this can sometimes lead to system instability and crashes if other resource-intensive programs are running.

Why might setting high priority through the registry be better than using the "-high" option?

Setting high priority through the registry can be less resource-intensive and more stable than constantly using the -high parameter. It ensures a more balanced resource distribution by the operating system.

What are the different priority values and what do they mean?

The priority values range from 1 (Low) to 6 (Above Normal). For high priority, the value is set to 3. Other values include 1 (Low), 2 (Normal), 4 (Normal), 5 (Below Normal), and 6 (Above Normal).

Good Luck and Happy Frags!