Any secret performance tips for HM3?
Results 1 to 9 of 9
  1. #1
    Member
    Join Date
    Jun 2014
    Posts
    83

    Default Any secret performance tips for HM3?

    I'm trying to give HM3 one last chance before I switch to something else ... PT4 seems to be operating much much more smoothly and the interface is similar in some screens to HM3, but I don't like the filtering section at all (used to check how I'm doing in different spots/situations). Filters seem a lot more painful to use than HM3. My computer is near top of the line as far as processor goes... 64gb of RAM, 5900x, SSD... so that shouldn't be the issue. I do have a lot of popups, but I use them all.

    I have done the following to help reduce the crashes / lag that I have been experiencing with HM3. These seem to be helping a bit but only in the first few hours of use so too early to tell.

    * Reduce size of Layout.hm3 by deleting all HUD profiles that are unused - and for the default HUD profiles you cannot get rid of - I deleted all the pop ups and table groups. My file is down to 2.35MB. I had already reduced it from 16MB to like 4.5MB, was still getting crashes/lag/etc, found out today how to reduce it more (by deleting everything within the default profiles). The crashes at 4.5MB were prior to reducing my DB down to < 200k hands.
    * Reduced size of database from like 550k hands to 190k.
    * Checked to make sure NoteCaddy RAM disk option is on and 24 threads is selected. I have noticed NoteCaddy settings don't tend to stick so I have to set them again after restarting HM3... which could be related to some of the issues I have been having.
    * Deleted all unused NoteCaddy definitions.
    * Turned off CaddyScatter/Color Coding (not really using these anyway)

    Are there any other things I can do besides these?

    The only other thing I can think of besides an issue with HM3 causing the crashes could be a hardware problem.

    I have been getting a few BSODs on this computer, and ran a memory test that came back with some errors... so earlier I reseated my RAM. Will run another RAM test soon and if it comes back with errors again will try some new RAM (good deals out there right now...). The only program that has been crashing (except occasionally Windows itself) has been HM3 - literally having problems with it 80% of my sessions.
    Last edited by ten25; 11-21-2022 at 08:21 PM.

  2. #2
    Member
    Join Date
    Jun 2014
    Posts
    83

    Default

    Quote Originally Posted by ten25 View Post
    I'm trying to give HM3 one last chance before I switch to something else ... PT4 seems to be operating much much more smoothly and the interface is similar in some screens to HM3, but I don't like the filtering section at all (used to check how I'm doing in different spots/situations). Filters seem a lot more painful to use than HM3. My computer is near top of the line as far as processor goes... 64gb of RAM, 5900x, SSD... so that shouldn't be the issue. I do have a lot of popups, but I use them all.

    I have done the following to help reduce the crashes / lag that I have been experiencing with HM3. These seem to be helping a bit but only in the first few hours of use so too early to tell.

    * Reduce size of Layout.hm3 by deleting all HUD profiles that are unused - and for the default HUD profiles you cannot get rid of - I deleted all the pop ups and table groups. My file is down to 2.35MB. I had already reduced it from 16MB to like 4.5MB, was still getting crashes/lag/etc, found out today how to reduce it more (by deleting everything within the default profiles). The crashes at 4.5MB were prior to reducing my DB down to < 200k hands.
    * Reduced size of database from like 550k hands to 190k.
    * Checked to make sure NoteCaddy RAM disk option is on and 24 threads is selected. I have noticed NoteCaddy settings don't tend to stick so I have to set them again after restarting HM3... which could be related to some of the issues I have been having.
    * Deleted all unused NoteCaddy definitions.
    * Turned off CaddyScatter/Color Coding (not really using these anyway)

    Are there any other things I can do besides these?

    The only other thing I can think of besides an issue with HM3 causing the crashes could be a hardware problem.

    I have been getting a few BSODs on this computer, and ran a memory test that came back with some errors... so earlier I reseated my RAM. Will run another RAM test soon and if it comes back with errors again will try some new RAM (good deals out there right now...). The only program that has been crashing (except occasionally Windows itself) has been HM3 - literally having problems with it 80% of my sessions.
    Things have been much more usable after the last changes. Still not perfect, 1 crash so far, and after putting in a session, for whatever reason the replayer still loads slower than when I initially start HM3.

    I suspect reducing the size of my database was the game changer ... still quite annoying, because I would like to be able to research opponents without having to maintain separate databases.

    I noticed PT4 has some sort of caching feature, which I suspect is why I can load my whole DB into PT4 and have it load right away... because when I turned it off, it took a while to load the replayer.

    Is this feature coming to HM3? I know PT4 uses PostgresSQL and HM3 is using SQLite ... not sure if that is another reason for the superior performance.
    Last edited by ten25; 11-22-2022 at 02:15 PM.

  3. #3
    Member
    Join Date
    Jun 2014
    Posts
    83

    Default

    I for sure had a bad stick of RAM ... have had a few crashes today on HM3 prior to removing the bad module just now... was getting all kinds of errors in Memtest86 and Windows Memory diagnostic. Going to fire up some sessions and hopefully this will resolve the issues...

  4. #4
    *** HM3! *** fozzy71's Avatar
    Join Date
    Sep 1971
    Location
    HM Support
    Posts
    32,311

    Default

    The replayer loading slow the first time is a known issue. We are working on all new replayer code which should help with that some hopefully, but it will always likely be a bit slow the first time because we use SQLite instead of PSQL. SQLite is a simple DBMS so it isn't going to have many of the databases features that PT4 or HM2/1 have/had in terms of performance (i.e. which is why HM3 uses more RAM than HM2/PT4). It does however eliminate 99% of the first-time install issues HM2 was famous for, etc.

  5. #5
    Member
    Join Date
    Jun 2014
    Posts
    83

    Default

    Quote Originally Posted by fozzy71 View Post
    The replayer loading slow the first time is a known issue. We are working on all new replayer code which should help with that some hopefully, but it will always likely be a bit slow the first time because we use SQLite instead of PSQL. SQLite is a simple DBMS so it isn't going to have many of the databases features that PT4 or HM2/1 have/had in terms of performance (i.e. which is why HM3 uses more RAM than HM2/PT4). It does however eliminate 99% of the first-time install issues HM2 was famous for, etc.
    I'm actually experiencing the opposite on the replayer - on a fresh instance of HM3 it loads quickly - but takes quite some time after finishing up a session (or especially during a session) - in all cases the replayer itself loads fine, but the HUD takes forever to load on the replayer. Still trying to determine if removing my bad RAM module has had any effect.

    I'm also randomly having the HUD just not show up on tables or popup stats stop loading mid session... I'll call it a soft crash, since HM3 is still open. Sometimes it will completely crash (HM3 closes). In either case sometimes I have to CTRL+ALT+DEL and end all HM3 processes, restart HM3, but then often it takes many hands for the HUD to come back up.

    Have already done a ticket and they said they were aware of the issue (not sure if they meant all of my issues) - but it would be an undetermined amount of time to fix.

    Any chance the code for the database connection / creation etc. in HM3 is abstracted in such a way it wouldn't be too difficult to rewrite to use PostgreSQL? Maybe a separate version if necessary.

    Struggling to see the benefit of using SQLite - don't remember having too many install issues on HM2? The performance/stability seems most important ...
    Last edited by ten25; 11-23-2022 at 01:35 PM.

  6. #6
    *** HM3! *** fozzy71's Avatar
    Join Date
    Sep 1971
    Location
    HM Support
    Posts
    32,311

    Default

    I am not a developer so I can't speak to that, but as far as I know, we have no plans to make a MAC version of HM3

  7. #7
    Member
    Join Date
    Jun 2014
    Posts
    83

    Default

    Quote Originally Posted by fozzy71 View Post
    I am not a developer so I can't speak to that, but as far as I know, we have no plans to make a MAC version of HM3
    I was asking about a PC version that uses PostgreSQL instead of SQLite and/or a caching feature akin to what PT4 has. Or maybe just dump SQLite completely if it's the reason for the inferior performance compared to PT4. Typically database code is written in a way it can be swapped out relatively easily for a different database technology, without altering the vast majority (or maybe any at all) of your other code. Of course that doesn't always happen... even though it really really should, definitely considered a best practice when it comes to designing any serious application.

    Another tip I have just found... if you add a popup on to a stat in your HUD (i.e. assigning a 3bet pop up to the 3bet stat), it doesn't seem to increase the Layouts.hm3 size. Before I had tons of tabs in my pop up but reducing it to the more generalized ones (along with removing everything from all the HUD profiles I'm not using) really lowered the size of the Layouts.hm3 file. I'm assigning more specific stuff to only show when you click the related stat on the table HUD.
    Last edited by ten25; 11-27-2022 at 01:44 PM.

  8. #8
    *** HM3! *** fozzy71's Avatar
    Join Date
    Sep 1971
    Location
    HM Support
    Posts
    32,311

    Default

    Quote Originally Posted by ten25 View Post
    I was asking about a PC version that uses PostgreSQL instead of SQLite and/or a caching feature akin to what PT4 has. Or maybe just dump SQLite completely if it's the reason for the inferior performance compared to PT4. Typically database code is written in a way it can be swapped out relatively easily for a different database technology, without altering the vast majority (or maybe any at all) of your other code. Of course that doesn't always happen... even though it really really should, definitely considered a best practice when it comes to designing any serious application.
    My bad, I must not have been fully awake when I replied. The answer is still basically the same, we have no plans to make HM3 work with PSQL as far as I know.

    Quote Originally Posted by ten25 View Post
    Another tip I have just found... if you add a popup on to a stat in your HUD (i.e. assigning a 3bet pop up to the 3bet stat), it doesn't seem to increase the Layouts.hm3 size. Before I had tons of tabs in my pop up but reducing it to the more generalized ones (along with removing everything from all the HUD profiles I'm not using) really lowered the size of the Layouts.hm3 file. I'm assigning more specific stuff to only show when you click the related stat on the table HUD.
    Thanks for this information, as I had personally never done that type of detailed testing of the popups/stats and layouts file relationship.

  9. #9
    Member
    Join Date
    Jun 2014
    Posts
    83

    Default

    I tried playing around with SQLite to see if I could squeeze out any performance, but unfortunately found out you have to recompile SQLite (something I am unfamiliar with...) in order to change any of these settings. One thing I wanted to try was to set the cache size to 64MB, as it appears my HM3 database is set to the default of 2MB.

    Some of the pages I was reading...
    https://phiresky.github.io/blog/2020...rmance-tuning/
    https://blog.devart.com/increasing-s...rformance.html

    I hope that some of the new versions coming (soon?) will fix the issues I'm having ... really don't want to have to remake my entire HUD in PT4. I don't know what happened because it was working fine for the most part over the summer. There are times lately where it suddenly becomes nearly unusable mid session during important decisions.

    I haven't been getting many hard crashes anymore (i.e. HM3 just closes down) but have still been getting huge stat delays, long enough that I could use my entire timebank and not get to see the stats I need. Then ... when I end all HM3 processes and restart a lot of the time it takes several orbits before the HUD even comes back up, and when it does, sometimes it doesn't come up on all tables... and I have to end all processes and restart again. It seems to defy all logic because it will be working fine for some period of time then bam, out of nowhere I can't pull up stats.
    Last edited by ten25; 11-29-2022 at 05:07 AM.

Similar Threads

  1. HM3 Performance Tips
    By udbrky in forum HM3 General Support
    Replies: 0
    Last Post: 05-05-2020, 04:40 AM
  2. Top 10: HEM performance increase tips
    By Patvs in forum Manager General
    Replies: 634
    Last Post: 06-11-2014, 03:26 PM
  3. Replies: 23
    Last Post: 04-15-2011, 08:25 AM
  4. #7 on top 10 HEM performance tips question
    By awnline in forum Manager General
    Replies: 7
    Last Post: 10-01-2010, 02:25 AM
  5. doubt: HEM performance increase tips
    By Izarrualde in forum Manager General
    Replies: 1
    Last Post: 09-09-2010, 02:53 AM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •