ESOUI

ESOUI (https://www.esoui.com/forums/index.php)
-   AddOn Help/Support (https://www.esoui.com/forums/forumdisplay.php?f=164)
-   -   Addons and FPS drop (https://www.esoui.com/forums/showthread.php?t=1178)

Nameious 04/26/14 01:08 AM

Addons and FPS drop
 
I'm having strange issues. I run quite a few addons and I have thought my PC should run ESO a hell of a lot better than it is. 20-40 fps 50ish in conversations. I ended up disabling all my addons and noticed around a 20 fps increase. Wykkyd's Framework itself knocks 6-10 off my fps. Can anyone tell me whats going on? Found another post here http://forums.elderscrollsonline.com...pple-framerate

My system specs
AMD 8350
Asus 990FX Sabertooth
Plexor M3Pro 256g SSD
AMD 280x's in crossfire (disabled for eso)
Silverstone 1200W PSU
Windows 7 x64

Stormknight 04/26/14 06:10 AM

Quite simply, addons take time to process and display.

Some addons are less optimised than others.

Some addons are just really poorly coded in terms of optimisation and will perform loads of unnecessary processing every frame.

Some addons (especially unit frames) often need to process every frame, so the performance drop is somewhat unavoidable.

Blackstorm 04/26/14 06:26 AM

+1 : generally caused by poor optimized codes and/or poor computer resources.

It's a choice too, you can run the game at the best performance without plugins, but without theses plugins life is more complicated ^^

Don't forget too, that the release of game is fairly recent so optimized codes will come with time.

Sideshow 04/28/14 05:33 AM

Quote:

Originally Posted by Stormknight (Post 5952)
Some addons (especially unit frames) often need to process every frame, so the performance drop is somewhat unavoidable.

I'd say basic unit frames don't need the onupdate event at all :)
That being said, using the onupdate event still isn't an excuse for stealing frames per second :p

lyravega 04/28/14 12:34 PM

From time to time, after 1-2 hours of playtime, check your FPS, then reload the UI. If you can notice a FPS increase, that means one of the mods/addOns has a real bad coding problem, and doing something wrong.

Nameious 04/28/14 03:43 PM

To be honest I wont notice a difference anyways my PC runs this game like utter **** at ultra I get like 30 fps lol

SpecialK 04/28/14 10:54 PM

Maybe too many abuses of "OnFrame" handlers.
Probably a lot of devs don't realize it gets ticked at the full frame/game-loop rate!

Do you really need your addon to be update 50-100 times a second?
Probably not..
If you have your stuff running at update speed your are basically competing with everything else
the client game loop is doing.

What devs could do here is use some kind of timer/limiter and, or, spin count to reduce the
frequency of updates.
I.E:
Lua Code:
  1. local _LastUpdateTime = -1
  2. local function _OnUpdate()
  3.     local Time = GetFrameTimeMilliseconds()
  4.     if (Time >= _LastUpdateTime) then    
  5.         _LastUpdateTime = (Time + 100)
  6.  
  7.        ... Do your code here..
  8.     end
  9. end

I saw this problem with the original "ZrMM". My FPS dropped around 10 with it enabled.
I added a limiter to it's update method like above and the problem was gone.
With a 100ms delay it's updating around 10x a second (vrs 50-75 fps for my avg frame rate).
Mind you with too much of a delay (like 500ms, 1/2 second), it made the plugin's update too jerky so
you have to find a trade-off somewhere around the ideal.

There is an updated ZrMM now (different author) that fixed this, added some features, and fixed bugs et al.

Better yet there is the "EVENT_MANAGER:RegisterForUpdate" API method that will tick at what ever delay you set it to!
No need to do a built in limiter like I first did.
Example:
Lua Code:
  1. -- Setup my update handler to tick about every 200ms (5x a second)
  2. EVENT_MANAGER:RegisterForUpdate("MyAddOnUpdate", 200, _OnUpdate)

If only everyone (that doesn't really need an update every frame) used this API instead..

Seerah 04/29/14 03:50 PM

The OnUpdate handler has two returns - the frame and the time in seconds.

Lua Code:
  1. local timelastrun = 0
  2. myFrame:SetHandler("OnUpdate", function(self, timerun)
  3.     if (timerun - timelastrun) >= 1 then     --this will run the below code once every second
  4.         --do stuff
  5.         timelastrun = timerun
  6.     end
  7. end)

Reager 05/08/14 02:05 AM

Main problem is that ESO is not a very addon friendly game. They have restricted the API too much. There are plenty of addons out there that do gimmicks in order to work around those restrictions and thus causing a worse performance overall if your CPU isn't good enough or you are running too many addons.

warloki41 02/05/15 09:48 PM

Fps drop with addons!
 
I believe most of the addons out there will cause no issue with regular game-play....Until you go to cyrodil in either large siege war or very large battles (20v20 or more). THEN you will see that fps drop that we are all talking about. Any other time and I myself do not see any loss in fps. Normally I run fps 100 all the time. Once in cyrodil and hit the first big battle....fps will drop in battle to about 20-30. This is highly annoying. Now....if i turn of ALL addons (have yet to check which ones cause this) and then go fullscreen same vid settings High to Ultra., I will have no drop in fps during battles. We just have to figure out which ones cause this and then dont use them during pvp battles. My pc specs are: Maximus IV Extreme-Z/I7 2600k(4.0ghz clock)/8 gig's dominator ram/Gtx 770 (both gpu and cpu are water cooled). I have yet to get SSD. Working with old 500gb hard drive at 7200 rpm. Also using Vizio 42" hdmi monitor.
PVE= all addons you want with no loss fps.
PVP=turn them off! Or you will have horrible time just learning any pvp skills at all.

QuadroTony 02/06/15 12:50 AM

stop necroposting pls

BornDownUnder 02/06/15 03:54 AM

Quote:

Originally Posted by QuadroTony (Post 18694)
stop necroposting pls

While the thread is quite old, Warloki41 has a very valid point, especially for addon authors to take note of...

There really should be the general authoring consensus of doing a check for player in zone and disabling addon or functions of said addon if that addon is not required for PvP. How many players stay in Cyrodiil to de-con/craft equip, etc.

Am now wondering after thinking about it if it is possible to implement filters/profiles for the addon Addon Clearer?

Posted a reply in comments section of that particular addon in regards to thought of implementing profiles or similar as an option.

Randactyl 02/06/15 12:05 PM

Quote:

Originally Posted by BornDownUnder (Post 18699)
While the thread is quite old, Warloki41 has a very valid point, especially for addon authors to take note of...

Well now that you (kind of) bring it up, I've never understood the point of getting mad at someone who dredges up an old thread - especially if what they have to say is relevant.

If they are trying to see if there is an answer to a still open question, either answer them if you can or let the post slide back into the darkness. No harm, no foul. Berating the "necroposter" (which is a term I find incredibly amusing, by the way :)) is really just perpetuating the the practice you hold in contempt.

BornDownUnder 02/06/15 06:24 PM

Quote:

Originally Posted by Randactyl (Post 18714)
Well now that you (kind of) bring it up, I've never understood the point of getting mad at someone who dredges up an old thread - especially if what they have to say is relevant.

If they are trying to see if there is an answer to a still open question, either answer them if you can or let the post slide back into the darkness. No harm, no foul. Berating the "necroposter" (which is a term I find incredibly amusing, by the way :)) is really just perpetuating the the practice you hold in contempt.

I never get mad or find discontent when someone posts on a thread that hasn't been 'alive' for a while... I've even seen on other forums threads renewed and sparked to full conversation after years of a lack of post.

The way I see it, if someone posts something then they had a reason and that reason for them is relevant. Therefore I reason that if it is relevant enough for the poster then it is relevant enough for me to read, even if it means I have to review a thread years old for information regarding what the recent post is pertaining to.

Basically put, if you were to post, would you want your post to be read or to be ignored for the simple reason of time stamp on the thread creation/last post?

Sasky 02/06/15 07:42 PM

Quote:

Originally Posted by BornDownUnder (Post 18716)
Basically put, if you were to post, would you want your post to be read or to be ignored for the simple reason of time stamp on the thread creation/last post?

Some threads are time-dependent and necroing the thread can cause confusion due to outdated information. A 1.3 character build guide isn't going to help you much. The other necro'd thread was for a lack of certain addons that can easily be found.

For a more extreme example, consider if someone necro's one of the Atlas malware threads. Someone who's joined the site since then could easily start reading the thread, panic, and not finish it.

Some sites do have an explicit policy, others auto-lock. ESOUI doesn't. However, consider creating a new thread rather than posting in an old one: it quickly gets to the question and you can link to the old thread if you feel the context is useful.


All times are GMT -6. The time now is 11:53 AM.

vBulletin © 2024, Jelsoft Enterprises Ltd
© 2014 - 2022 MMOUI