MgAl2O4 / FFTriadBuddy

FF14 Triple Triad helper
MIT License
129 stars 17 forks source link

Anyway to disable the auto update? #64

Closed EchoHM closed 3 years ago

EchoHM commented 3 years ago

The auto scan function did not work on any version later than v73, and the scanner keeps getting the wrong scan result. Is there any way to disable the auto update?

MgAl2O4 commented 3 years ago

Auto scan checkbox - bottom right corer of overlay's panel.

I just tested auto scan behavior in game and it still works correctly for me. Don't see anything related to that functionality in releases v74+ either.

Would you mind sending a screenshot captured right after failed/wrong auto scan + log file? (logs are saved in %localappdata%\FFTriadBuddy\outputLog.txt). What exactly happens when it fails?

EchoHM commented 3 years ago

I tried v89 again and find that the scan overlay is freezed when the game window is on the top, and become normal when I click the overlay again. This issue does not exist on v73, so I guess may be it is due to the always on top function?

MgAl2O4 commented 3 years ago

ontop

Tested a match with always on top checked and everything squeezed on the same screen - overlay & autoscan was working correctly. Is there anything different in your setup? Maybe one of important elements (board / rule box / decks / timer bar) get obscured by tool's window and can't be scanned correctly?

EchoHM commented 3 years ago

It seems like that new update for my graphic card driver is preventing the app to run in the background, I uninstalled 21H2 and return my graphic card driver to 466.77, the auto scan function is normal now, but with a slight delay in the reaction as compared to v73. My game client is CN client if that matters.

MgAl2O4 commented 3 years ago

That is super weird. I'm on 20H2 with even older 466.47 drivers (assuming it's about nvidia and wow, I need to update them more frequently...) - will check on latest ones.

MgAl2O4 commented 3 years ago

Client version (CN vs global) shouldn't matter here at all. 21H2 is still an insider preview build, right? I doubt it's about graphics drivers, but who knows what exactly was changed on OS level :/ Will keep that in mind, but I will wait until it's publicly available update with majority of bugs sorted out.

EchoHM commented 3 years ago

I tried again for updating the driver to 471.41, and found out that maybe it is due to my graphic card usage, the app is running normally in 72 fps (50% usage), but freezed in 144 fps (99% usage). (Also the video play back is freezed when 144 fps is enabled.) But v73 can run normally under 144 fps, so it is weird for me as well.

MgAl2O4 commented 3 years ago

Updated to latest drivers, but still no luck.

Tried running with high game fps (~144) in both windowed and borderless windowed modes and everything works fine. The larger screen resolution will add to delay - this is expected, more pixels on screen to parse through. Only way to break it by using fullscreen mode (rendering goes directly to DX device and windows api is unable to capture screen - again, expected.

Are the 50, 99% numbers referring to cpu usage of tool? I don't really see a connection between game's fps and tool's performance, this is completely separate thing (tool scans entire game window on pressing Capture and just tiny fraction of it every 0.25s to get state of timer bar)

I'll add more logs about it in next version and ping you on this thread, I'm really curious what's the reason behind this bug.

MgAl2O4 commented 3 years ago

v92 adds more verbose logs for auto scan.

Can you run the tool with cmdline arguments: -log -verbose And send me log file showing failed auto scans? It's a bit spammy, but should at least give some idea about performance.

EchoHM commented 3 years ago

outputLog.txt (The first match is normal, and the second one is at 99% usage and the overlay freezed)

Here is the log flie fyi. The percentage number is the overall GPU usage, and I find that if the GPU usage is at 99%, all the other app's background activity is freezed, but if the usage is under 99% (say 98% or lower), then everything is normal. Maybe it is due to the GPU resource distribution or something like that, but v73 can be used even at 99%.

I think the difference between v73 and v92 is when doing TT matches, v73 only shows the scanning overlay but v92 shows the overlay + the app window, maybe that can affect the performance of the app.

MgAl2O4 commented 3 years ago

Hm. Log recorded both matches correctly (lines with "Capture scanId"), so it's not an issue with functionality, just presenting the stuff to user. CPU usage looks super small too, less than 10ms than every 250ms for scans.

GPU being the choke point actually makes sense - starting from v74 tool is using different UI framework (WinForms -> WPF) and ends up using directx for rendering (vs previous GDI, i think? not 100% sure about details on this one).

I'll look into WPF rendering and see what options are available. Worst case scenario - overlay window will get WinForms based alternative, so it can work like before.

MgAl2O4 commented 3 years ago

release-v92-SoftwareRender.zip

Would you mind testing this one under high GPU stress? I'm still not able to repro any issues, maybe it's specific graphisc card +drivers, maybe something else :/ It's basically the same as latest version, but turns off hardware acceleration usage. If it helps, great, I'll make it into an option in UI. If not, I'll keep experimenting...

EchoHM commented 3 years ago

The software render version works fine for me, thank you! The delays are gone by now when GPU usage are at 99%.

MgAl2O4 commented 3 years ago

Added as an option in v93 "disable hardware acceleration" = software rendering mode, program restart is required to apply change