Windower / Lua

Lua Addons and Scripts
242 stars 429 forks source link

[Gearswap] Severe FPS drops in combat (Post Win 10 Update) #1610

Closed cairthenn closed 6 years ago

cairthenn commented 6 years ago

Unsure of exact cause at present

smd111 commented 6 years ago

are you using coroutine.sleep(time) or any sleep/pause function anywhere i gearswap?? are you using a while-do/repeat-until loop to wait for something to happen before you do something?? if so thats why

coroutine.sleep(time) is one of the few core windower lua you cant use in gearswap while-do/repeat-until loop cause the same issue as with sleep/pause there is a why around it with gearswap.equip_sets('custom function name', nil, custom variables...)

cairthenn commented 6 years ago

I am aware of gearswap's inability to yield in the user environment. This is a general issue, not necessarily a user file problem.

smd111 commented 6 years ago

well it has to be something with your user code as i dont have this issue with on my system unless i use one of thoes i posted above and my computer is a second hand laptop that 7 years old -cpu: AMD Phenom II N640 Dual-Core Processor 2.9Ghz (Mobile) -memory:6 GB -Windows 7 -gearswap code include:https://github.com/smd111/Gearswap --and im proud to say my code is more advanced then motes is --it just most people cant get it to work for them because it requires you to know as much about gearswap as me to understand it --i have rewritten gearswap functions for use with my include

cairthenn commented 6 years ago

1) It's not an issue with my code specifically, it's an issue that others are experiencing 2) I made the issue for myself or someone else to look into so it wouldn't be forgotten 3) I'm glad you made your own include, me too!

smd111 commented 6 years ago

i have had this issue come up more then a dozen times and every time it has to do with what i said in my first post but all thoes that have this issue never reply back after i post to say that it is not the issue thay just never post again or thay ask again because thay do not believe me

the only things that can cause this issue are -any sleep/pause function -loops that last more the 500-600 cycles (while-do/repeat-until last 100's of thousands of cycles for even a short one because you just compound it using sleep)

all of the above causes gearswap to trigger more and more threads ranging in to the millions or billions causing your processor to bog down the ffxi process you must remember that ffxi(PC) was written for single core systems not multi core systems and as far as i know windower runs in the same process as ffxi and if your using windows 10 it might never work

if someone has this issue it most likely is the above and if not i would ask to see there code so i can see whats going on

cairthenn commented 6 years ago

As I said, I am aware of the limits of yielding in a gearswap environment. GearSwap user functions are pcalled to prevent errors from propagating into the addon's environment, and yielding in a pcall is not permitted in the version of Lua we run on Windower, so attempting to do so is obviously undefined behavior (it should error, actually).

Sleep doesn't work well because a lot of these functions actually run on the game's main thread.

That said, I created this issue because people are having problems, presumably without changing their user file, after a recent Windows 10 update.

smd111 commented 6 years ago

then dont you know where the issue is

after a recent Windows 10 update

ffxi and windower do not fully support windows 10

*Certain Windows 10 updates may cause the game client to work improperly.

--directly from ffxi's Requirements page:http://www.playonline.com/ff11us/envi/win/win01.html so this is a win 10 issue not a windower or a gearswap issue

cairthenn commented 6 years ago

I was helping someone on discord with their issue, and they unloaded gearswap and the issue stopped, so I made this. I don't feel the need to clarify myself any more. If you have something beneficial to contribute, feel free.

alphaONE2 commented 6 years ago

The fact that he opened the issue means he feels the issue warrants further investigation.

Just to be clear, @cairface is a Windower dev, and whether something is a Windower issue or not is for us to decide, not you. Even if the issue is ultimately caused by Windows 10 (which hasn't been established, the cause is unclear, it's just correlated with Windows 10), it doesn't mean that we can just ignore it. If it's something we can work around, we probably will.

Byrth commented 6 years ago

Given that GearSwap only uses the LuaCore API (never intentionally blocks), it seems very unlikely to be a GearSwap problem and without the user file (or maybe other addons?) there is nothing to diagnose.

Going to close this, as there doesn't seem to have been an outcry of gearswap performance issues in the last few months.

stranger-in-despair commented 3 years ago

Hey, have you guys figured out this specific problem? I've had it for years now :( this is pretty much the first time I've found a thread with the exact same issue as me.

Gearswap gives me a lag similar (alot worse) to having gamepad enabled, but not having the controller plugged in. I also experience fps stutters when Its changing my gear or when I get buffs and debuffs.

Had this issue on my windows 7 laptop too. Any help would be greatly appreciated, love the game and gearswap. I feel like I've tried nearly everything, even upgraded my GPU; my Cpu isn't the best, but my pc runs alot of newer games at medium-high settings.

Thank you for any help possible. Ask me anything if you need more info.

Windows 10 Nvidia 1050 TI Amd FX 6300 6 core processor 8 gig ram