Just wanted to post on the official forums about a bug I came across and the solution I found. This happens to be with the GOG version of the game. I don't have it for steam but others can try and replicate the issue with steam to see if it's also affected.
I've emailed support with more details so hopefully they will already know about this.
Over the last couple of months I started playing BG3 again. This is post Patch 7. Didn't play much right at the release of this patch so I'm not sure if this particular issue existed in patch 6 or not.
The symptoms are as follows:
Initial loading screen will hang for some duration, then proceed as normal. Most people won't really notice this and would chalk it up to being just the normal process of loading a game.
Skill check dice rolls will hang for a similar duration. During this time the UI will partially load. You see a black shadow where the dice texture would normally be. There were some other elements that partially loaded. In my case it would take around 15 seconds to load the full dice textures and allow me to roll the skill check.
This happened at every dice roll.
Initial troubleshooting ensued. Since I did have a few mods enabled prior to patch 7, I started with those making sure they were updated. Then removing them entirely (risking a corrupt save). No change. In doing research into the issue I have found a handful people that site similar ui issues, but it's hard to tell if it was a mod issue or this particular issue. Ended up wiping everything out from Larian studios, fully installing the game fresh, no mods. Even a brand new campaign would hang at the same event; dice rolls.
I even went so far as disabling every non essential service and application make sure bg3.exe was the only thing running that didn't need to be.
Same issue.
In my former career I was a computer tech and knew a few tricks to get more info about various process and what they are doing on your system.
I loaded up procmon from systernals (now part of Microsoft tools) and told it to monitor the bg3.exe file while running. I loaded bg3 in a 1368x768 window and had proc monitor on another window. After hooking procmon to the bg3.exe window, I could watch what it was doing when it was hanging.
Procmon showed me that during the dice roll, the exe file is trying to read some files in the games data directory that don't exist. After this I can see it checking every file in every directory from the relative path of the exe, all the way up the folder structure to the the root (C:\), then it eventually lands on a diceset pak file. At that time the ui loads. During this directory walk, I noticed that my C:\ root directory had almost 500,000 files that all were named fba_ads_*.json. Since bg3.exe was walking this directory (I'm assuming looking for the dice textures to load), it was iterating through all these erroneous files.
The 500,000 files were the result of a Meta Quest Link Remote Desktop application bug. Something about it was creating these files all the time. The fix was reported on their forums around the first of November. The fix for that issues is to remove the application manually and reboot the computer. After that, it won't create these files anymore. However while the files still exist, bg3 will hang at the same spot. So after I deleted those half a million files, bg3 loads in an expected time frame. If you happen to have this application and happen to start noticing the issue with BG3 around that same time, it could be indicative of the same issue. However, it doesn't matter where the files came from.
It still does the directory walk, but it just gets through it quicker.
I can replicate the issue by loading up my C:\ drive again with a mess of files via a powershell script. Once I remove them, it's fine again.
So the bug is:
In the GOG version of BG3 (unverified in steam version), bg3 will iterate through your folder structure all the way down to the root directory looking for the diceset.pak. If you happen to have an unreasonable amount of files somewhere in that structure (at least in the root C:\ directory), it'll load in linear time based on the number of files it needs to check.
This was 15 seconds for me with about 500,000 files on a NVME 980 pro. I can imagine that slower ssds or even HDD it would be much much longer with a similar number of files.
SOLUTION:
Make sure there aren't an unreasonable amount of files living in your C:\ root at the very least. If you don't see anything, use procmon to see what the exe is loading to perhaps reveal where the delay could be coming from.
Hopefully the devs can find why the default location for the diceset.pak isn't being found and doesn't need to walk the whole tree to find it.
Last edited by AgentScreech; 02/01/25 09:35 PM.