D3.app launches with incorrect display settings

I have Battle.net configured to launch D3 with the -w flag on launch. As far as I can recall, this works reliably; I don’t remember D3 ever launching in fullscreen mode since adding this setting.

Regardless of display mode, however, I’ve consistently been running afoul of the CASC+APFS “inventory slow load times” issue (yes, even after an uninstall/reinstall). As such, I’ve gotten in the habit of immediately changing the texture quality (this is the workaround described at https://us.forums.blizzard.com/en/d3/t/slow-load-times-inventory/19241/18) every time I start or join a new game. It adds 10-15 seconds to every new game, but there’s not much I can do about it.

Sometimes, doing this switches the game into fullscreen mode, which takes another 10-20 seconds to undo before I can actually start playing the game. I finally happened to glance over at the display mode after changing texture quality, and noticed that it had “Fullscreen” and “800x600x60” in the Display and Resolution dropdowns, respectively—even though the game was running in a window at the time.

I’ve just exited and restarted D3 three or four times in a row, and can report that on most (but not all!) of those launches, the Options dialog has incorrect values the first time it opens. (On some of those launches, I started a new game before bringing up the dialog; on the last one or two, I hit Escape from the home screen immediately after launch.)

Further entertainment: if I leave the values unchanged and click “Apply”, the game switches from windowed mode to fullscreen at 800x600. If I change only the display mode from fullscreen to windowed, it stays windowed but resizes to 800x600 (basically a postage stamp at 4K). Both of these are exactly the behavior I would expect when clicking “Apply” or “Accept” after having deliberately changed the display mode and/or resolution, so “Apply” seems to be working that fine. The issue is that the Options screen loads with those incorrect values (“garbage in, garbage out”).

[EDIT]One other fun thing: opening the Options screen and immediately hitting “Cancel”… switches the app from windowed to fullscreen.[/EDIT]

Whether the game is loading state from a stale file or incorrectly reading it from the OS is outside my area of expertise, but the process that initializes those values must be happening sometime between launch and the display of the Options screen…

Anyway, I should be able to bypass this behavior by always making sure the display mode is set to “Windowed” when I adjust the texture quality.

In other words, I have to remember to apply a workaround to the display settings bug when I’m applying a workaround to the slow tile loading bug. Computers are great!

UPDATE: I haven’t noticed this happening when I’m only using the laptop itself, so it may be a bug that only appears with multiple displays?