Contents
Program Crashes
First off, it's unusual for HRC to crash or become unresponsive. If you're experiencing crashes and aren't able to resolve them using the information provided here, please get in touch with us.
HRC Becomes Unresponsive
If HRC becomes unresponsive (i.e., the program remains open but doesn't react, or only very slowly reacts, to user input), this is most likely because HRC has run out of memory. You can verify the memory status by looking at the status bar in the bottom right corner of the program. Problems are commonly caused by the memory limit being set too low for the hands you're working with.
Please check the memory limit documentation to learn how to correctly configure the limit. Make sure to keep about 10-15% spare memory within that limit. Do not try to create trees that barely fit within the configured limit, as this can lead to degraded performance and to crashes during saving, because additional data structures are needed at that point.
HRC Closes Without an Error Message
When HRC closes without an error message, it creates a crash log file in its installation directory. These files are named hs_err_pid*.log
.
Open the most recently created crash log in a text editor and check the first page. The crash cause will likely be a variation of:
- Unable to allocate system memory. The memory limit is configured incorrectly, and HRC is trying to allocate more memory than is physically available on your system. Double-check your memory limit configuration in that case.
- Access violation / Illegal Access. In most cases, this indicates a hardware stability issue. This could be the result of incorrect BIOS settings, unstable overclocking, or overheating. Try stress testing your system using the tools below.
- A rare exception to this is a current bug concerning the latest Java Runtime in combination with Windows Remote Desktop. If you are running HRC on a Windows Server using Remote Desktop and experience crashes despite ruling out hardware issues then please get in touch with us.
Resources to identify hardware issues:
- Prime95: This tool can quickly identify CPU instabilities, which can help you tweak your system into a stable configuration.
- Download: https://www.mersenne.org/download/
- In Prime95, select "Stress testing," mode "Blend," and enable the "SMT" setting.
- Keep it running for around 15 minutes and check for any error messages.
- If no errors appear within 15 minutes, you can likely rule out CPU-related issues.
- Memtest86+: Use this tool for a more in-depth memory test.
- Download: https://www.memtest.org/
HRC Fails to Start
If you are running HRC on an outdated Windows version you may see an error message during startup. Unfortunately HRC v4 no longer supports end-of-life Windows versions, including versions prior to Windows 10 and Windows Server 2019. This is due to the fact that essential third-party libraries have dropped support for these outdated systems.
We strongly urge users to upgrade from these unsupported Windows versions. Continuing to use them poses a significant security risk due to the absence of ongoing security updates.
For users who are unable to upgrade immediately, we offer the previous HRC v3 version as a legacy option. You can download the installers for HRC v3 here. However, please note that HRC v3 is no longer actively maintained and will not receive any further updates.
CPU Utilization
HRC is designed to fully utilize your CPU when running calculations. This means it should take up close to 100% of your CPU resources when it's actively running hands. Use your task manager to verify that this is the case.
Not Fully Utilizing CPU Resources
On most systems HRC will automatically detect the number of available logical processors on your system. If you have a regular consumer machine then everything should work out of the box.
If you notice HRC leaving some of your CPU resources idle then try manually configuring the number of worker threads at Window: Preferences: General Performance, make sure to restart HRC for the setting to take effect. Typically this manual configuration is only necessary on systems with multiple CPU sockets.
Systems with more than 64 threads running Windows 10 or Windows Server 2019:
- HRC is limited to max 64 threads on these older Windows versions. Unfortunately there is no easy fix here, your best course of action is to upgrade your operating system.
- What's happening: Windows splits up your logical processors into processor groups of no more than 64 processors each. On older Windows versions programs can only utilize a single processor group unless specifically designed to use multiple groups. Starting with Windows 11 or Windows Server 2022 programs can automatically run across multiple processor groups.
Other Programs Are Slow to Respond
On some systems, you may notice other programs becoming sluggish while HRC is running calculations, with a noticeable delay to user interactions.
If you want to keep other programs responsive while HRC calculations are running, we recommend setting HRC to low priority mode.
You can prioritize other programs over HRC in two ways:
-
Through the Task Manager (single session only):
- Open the Task Manager (usually by pressing Ctrl+Shift+Esc).
- Go to the "Details" tab.
- Find the
hrc.exe
process, right-click it, and select "Set priority" -> "Low".
-
Using a Startup Script (persistent):
- Download the following script: hrc_low_priority.bat (Right click: Save link as)
- Save the script to your HRC installation directory. You can find this directory by right-clicking on your existing HRC launcher, selecting "Properties", and clicking "Open File Location".
- Right-click the
.bat
file and select "Create shortcut". - Move the shortcut to your desktop or another convenient location.
- Use this shortcut to launch HRC. The script will automatically set HRC to low priority mode every time you use it.
- (Optional) Right-click the new shortcut, select "Properties", and go to the "Shortcut" tab. Click "Change Icon" and select the
hrc.exe
icon.
Setting HRC to low priority mode will prioritize other programs if they need CPU resources, but it will typically have minimal impact on HRC performance unless you're running other CPU-intensive tasks. This offers a good trade-off between performance in HRC and responsiveness of other programs.
The alternative is to limit HRC to using only a portion of your available CPU resources. This will have a much larger impact on calculation speed, so it's not our preferred solution. The number of threads used by HRC can be configured at "Window: Preferences: General Performance: Worker Threads." Set that number lower than the number of physical threads supported by your system—you should then observe a drop in HRC's CPU utilization in the task manager. Keep in mind that you may need to restart HRC before this setting takes full effect.
Layout Troubles
HRC's workspace layout is highly customizable. You can move parts around, detach them into separate windows, etc. However, it's easy to unintentionally change the layout, and manually restoring it to the default can be tricky at first.
There's a simple option to reset the workspace to its original state. In the main menu, select "Window: Reset Perspective" to restore the default layout. If that doesn't work, read on to the next section.
Resetting Configuration Files
Sometimes HRC's configuration files can get corrupted. This can happen if HRC isn't closed down correctly, and on rare occasions, it can also happen during updates.
Here are a few examples of issues that can result from corrupted configuration files:
- Inability to open the hand configuration dialog
- Bugged areas in the workspace layout that can't be fixed by selecting "Window: Reset Perspective"
To reset the configuration:
- Close HRC.
- Navigate to
C:\Users\USERNAME\HoldemResources
. - Rename the
.metadata
directory (e.g., to.metadata.old
). - Restart HRC.
This will create a new .metadata
directory with default settings.
Once you've verified that this fixes the issue, you can copy your saved structures and ranges from the old configuration directory (previously renamed to .metadata.old
). Make sure to close HRC first and then copy the old setting files into the new location.
Relevant main configuration files:
- Custom prize structures:
.metadata\.plugins\net.holdemresources.calculator\structuredata\custom.json
- Custom ranges:
.metadata\.plugins\net.holdemresources.calculator\rangesdata\custom.json