Lagbuster (By Zone FPS (Not Latency) Adjuster)

Based loosly on Leatrix's GFX addon, this is more versitile. It doesn't load 16 bit graphics, but it does allow you to change multiple graphics settings with an ingame slash command, based on what zone you're in, or to automatically load different graphics settings when you move between zones.

To install, extract the Lagbuster folder into your addon directory.

To Customize your settings, there are a series of options for the /lbust slash command (Or just use the configuration GUI):

The current slash command options for the /lbust slash command are:

/lbust config : This pulls up the GUI customization controls, which let you change
and update settings without having to use most of the other slash commands.

The GUI contains the following:

Four Radio buttons ("None", "Average", "Bad" and "Very Bad")
These will set the current zone's default setting to whichever one you click.
A checkbox to autoload* settings when you change zones.
A checkbox to "undock" the "Restart Graphics" button, so that it will
pop up automatically when you move to a zone with different graphics
settings from the one you left. The floating button can be dragged
anywhere on the screen with the right mouse button, so it pops up where you want it.
A Restart Graphics button to manually restart WOW's graphics engine
when the autoload settings function is active.
This can be undocked and moved wherever on the screen you want it
to pop up when you change zones to one with different settings.
A "Load Variables" button: This one is to be used after you enter WOW's
graphics console and change the settings, to load the current active
graphics settings into whichever preset has it's radio button checked.
This is used to fine-tune the settings for the presets.
All it does is read the active console variables settings and save them
into the current preset slot.
An "Apply Settings: <Setting>" button: This is used if you don't have the
autoload option turned on, to load the settings for the current zone.
A separate, hideable CVAR panel, which shows the current console variable settings.

The manual slash command options (for those who don't want to use the GUI for everything)

/lbust zone: Force-load zone-based graphics settings (use this if the addon is being stubborn)
I added this when I discovered that, for some reason, the slash command would
sometimes not load the local settings automatically.
/lbust up and /lbust down: Load and apply slightly higher (or lower) presets.
This lets you find the right preset for the current zone before locking
it in with the setzone command.
/lbust min and /lbust max: Load and apply worst (or best) graphics presets.
/lbust res: List the available screen resolutions Lagbuster is using.
The resolutions that Lagbuster picks are based on whether you have set
Lagbuster for a widescreen or normal screen monitor.
/lbust wide: Toggle between widescreen and normal resolution defaults.
/lbust cvar: list the current active values of the variables Lagbuster affects.
Users can use this to figure out which variables to customize.
/lbust set: Tells the addon to set the current preset to whatever the current
active graphics settings are. To customize a preset, make it the active
one using the up/down min/max commands, and then open WOW's interface
options and edit the video settings until they are the way you want them,
then use /lbust set to lock them in. If you ever want to go back to
Lagbuster's presets, delete the lagbuster saved variables file in the
WTF/Account/<ACCOUNTNAME>/SavedVariables folder.
/lbust setzone: Tells the addon to set the current zone's default setting to the
currently active preset. Use the up/down min/max commands to select the
preset you want, then use /lbust setzone, or simply click the setting radio
button you want in the config window. This does not apply the new settings
unless you have autoload turned on, it only sets the current zone's default.
/lbust auto: Toggle's Lagbuster's automatic* graphics adjustment option.

* Automatic zone-based changes:

WARNING: When this is active, it will change your graphics whenever you move between zones that have different graphics settings. It should not restart your graphics engine (often - for some reason I can't figure out yet, it still restarts sometimes anyway) until you open the config panel and manually click the Restart Graphics button (Or click it, if it is undocked to pop up.) If Auto is NOT active, you must type /lbust or click the Apply Settings button in the config window to apply the new zone's preset. If this is active, it is wise to avoid combat near a zone boundary, in case the graphics engine restarts spontaneously when you cross the zone boundary.

1.00 - Fixed the file so it has a folder and a readme.txt.
1.01- Fixed an issue with view distance not updating, and moved the attention sound to the zone changed condition so it doesnt happen every time you change the settings, only when you change zones. Also, the zone settings loading alert and sound should now only play if the new zone's settings differ from the active ones.
1.02 - Made the formatting on the addon's printouts a bit more readable, and fixed some errors in the source code comments. Also added some error messages and improved the flow control a bit.
2.00 - Total Rewrite. Added a GUI interface, accessable by the "/lbust config" option.
2.01 - Fixed an issue with the current zone not being properly updated in the configuration screen, and made the interface a bit prettier.
2.02 - Added some more features, like making it so that autoupdate doesn't automatically restart the graphics engine upon moving to a zone with different settings. Now graphics restart is handled by a button on the config panel. The config panel is also dragable now.
2.03 - Clarified the page title, and added the ability to detatch the "Reset Graphics" button so that it can be moved around the screen and will "Pop up" when you enter a zone with new settings available, so you don't have to pull up the configuration screen to reset your graphics.
3.01 - Updated for patch 3.2 and made the reset button dragable with right button.
3.02 - Spent several hours narrowing down the cause of the "Graphics restarting when zoning and not on demand" bug. You should now no longer get loading screens when moving between zones.

This addon is a great idea, but it doesn't work properly for me:/
1) No matter what I do, it always sets Terrain Blending to low
2) It can't remember my shadow settings

This is how i configure it [maybe I do something wrong?]:
1) I click "None" radio button
2) Set my options in WoW video options
3) Click Load Variables: None - Now my current video settings should be saved in "None" profile
4) Click Apply Settings: None - When I do that, it should set the game in a way I configured it and saved in point 2 and 3. But it lowers my shadows to almost the lowest level and sets Terrain Blending to low [and I want it both high]. View distance setting is properly saved and restored...

Let me start by saying that I really like this addon. It will do exactly what I need as soon as I figure out how to make it do it. This is a lot of criticism, but please understand that I make these criticisms in the hopes that they help make the addon better.

I really wish that the information in the readme file was a little easier to figure out, and that there was some way to access that information in game. I got confused as to how to do things like change a certain preset. The readme file gave me an indication as to how to go about it, but it wasn't easy to follow. Let me explain:

"up/down: Load and apply slightly higher (or lower) settings. This lets you adjust the settings up and down to find the right preset for the current zone."

I had typed out a long thing, but really I just want this to instead say "up/down: Load and apply the next highest or lowest preset. This lets you adjust the settings up and down to find the right preset for the current zone."

It took me about 20 minutes to figure out that the Load Variables: [Variable] button would overwrite that preset with the current variable, which was about 15 minutes after I managed to change every preset to Average with Hardware Cursor enabled. The text of this button should probably be changed to say something like "Set Preset to Current."

I want there to be a console button that preforms the Setzone function.

A lot of the variables in the Console Variables settings window tell me what they're called in the lua file, but not what they actually do. I'm pretty sure you aren't even able to change some of them from in game, but I wouldn't know for sure because they just don't tell me. I need for them to say what they actually do. Any that I can't change from the Video menu should either not be there or should have some built in addon functionality that lets me change them. I'm not sure if that would be hard to pull off, but when I've got a variable that tells me that Base MIP is set at 1, I need to know what Base MIP does. If it does something that I can't change from the video menu then I want some way to change it, or else I just don't want to see it so I'm not worrying about the fact that I don't know how to change it.

I know that this is sort of a "Make the addon easier to use if I don't understand the coding controls" post, but honestly thats what sets great addons apart from good addons.

Originally posted by Astrocanis I'm using the new version. When I type /lb config, I get the config screen - but if I change it from the default (which I think is called "None") I have the problem.

There is nothing in the FrameXML.log file. I deleted the savedvariables and was able to restore normal function.

So it's working alright now? Good.

The radio buttons in the config panel are adjustable by zone, and determine which of the four user-programmable configurations you want to use for the zone you are in...so the default for the zone you were currently in was "none"...if you had been in Dalaran, for example, the default would have been "very bad"

Now that the config panel is fully functional, I'm thinking of getting rid of a lot of the old slash options...the user doesn't really NEED to manually set the zone's level, now that you can just go into the config panel and click a radio button...but some users may want to put the control functions in macros so...I'm a bit torn on that.

Originally posted by Astrocanis I am experiencing a serious problem with the addon. When I type "/lb", I get a very brief "concatenating NIL" error that flashes by too quickly to read. Followed by a small windowed version of wow that is a blue circle with what looks like an overhead view of some terrain. The game is then totally unresponsive.

In order to restore to prior settings, I have to remove the lagbuster.lua from savedvariables and remove my config.wtf.

I have tried it 3 times in hopes of capturing the entire text of the error, but I can't read it fast enough. And I'm tired of blowing up WoW lol.

Odd...are you using the new version, or one of the earlier ones?

What happens when you type /lb config?

Check the file: "..World of Warcraft\Logs\FrameXML.log" and see if you see any errors that mention Lagbuster there.

I am experiencing a serious problem with the addon. When I type "/lb", I get a very brief "concatenating NIL" error that flashes by too quickly to read. Followed by a small windowed version of wow that is a blue circle with what looks like an overhead view of some terrain. The game is then totally unresponsive.

In order to restore to prior settings, I have to remove the lagbuster.lua from savedvariables and remove my config.wtf.

I have tried it 3 times in hopes of capturing the entire text of the error, but I can't read it fast enough. And I'm tired of blowing up WoW lol.

Originally posted by Leatrix Lagbuster, on the other hand, runs in the background all the time, switching profiles according to character location in order to provide the best quality settings which your computer can handle for that zone. As such it's obviously designed for medium spec computers and for users who will happily sacrifice some framerate for graphics quality as long as things are running smoothly.

It's a nice idea and I wish you every success with it.

Well technically, it only runs in response to chat channel changes (and if you didn't actually change zones, it just says "Oh, we didn't really change zones?" and goes back to sleep. While it does constantly reside in memory, it's code isn't eating any processing power except in response to a slash command or chat channel change.

(As I understand it, once WOW registers a slash command or event, it simply adds a table entry in the slash command interpreter and/or the main event handler for the addon, and doesn't actually call the code until that event or slash command fires in the game. It resides in memory, but isn't actually constantly running to "listen" for events...the main WOW program handles that part)

Anyway, I added a more explanatory page title, which should clear up any misconceptions. If I knew of any way that an addon could actually affect latency itself, I'd have added it to the addon already, but latency is hard to do anything about from lua.

Originally posted by Redwood Elf Well I was referring primarily to visual lag (AKA low framerate) problems...and "Lagbuster" sounds better than "Automatic Graphics Setting configuration tool that can increase your framerate in crowded zones at lets you adjust them automatically once they are set without having to open the video and effects Consoles every time you want them to change."

Faster to type too.

If you want to write another addon called "Lagbuster" that can fix actual lag, other than by changing GxFixLag like Lagbuster does, by all means do so, and I can rename this one to "Lagbuster-V" (V for Visual)

My actual point is that low framerate is NOT lag.

Like I said originally: it's kind of pedantic, but the point is valid imo.

Originally posted by tardmrr I hate to be a pedant, but this addon's name is misleading. Lag (in the context of World of Warcraft) refers to having a time lag between when you perform an action locally and when the server acknowledges and the action completes. The simplest case of this is when you have a high ping you notice a lag time from when you hit your buttons to when the actions are actually performed. Lag, in fact, has nothing to do with your video settings, and changing a bunch of them based on what zone you are in isn't going to effect lag at all. It may have the effect of improving your FPS in areas that otherwise perform poorly, but this is NOT lag.

Well I was referring primarily to visual lag (AKA low framerate) problems...and "Lagbuster" sounds better than "Automatic Graphics Setting configuration tool that can increase your framerate in crowded zones at lets you adjust them automatically once they are set without having to open the video and effects Consoles every time you want them to change."

Faster to type too.

If you want to write another addon called "Lagbuster" that can fix actual lag, other than by changing GxFixLag like Lagbuster does, by all means do so, and I can rename this one to "Lagbuster-V" (V for Visual)

I hate to be a pedant, but this addon's name is misleading. Lag (in the context of World of Warcraft) refers to having a time lag between when you perform an action locally and when the server acknowledges and the action completes. The simplest case of this is when you have a high ping you notice a lag time from when you hit your buttons to when the actions are actually performed. Lag, in fact, has nothing to do with your video settings, and changing a bunch of them based on what zone you are in isn't going to effect lag at all. It may have the effect of improving your FPS in areas that otherwise perform poorly, but this is NOT lag.

Originally posted by Auren It stays, hidden sometimes even when i'm trying to change the settings etc?
Is it necessary to hide it? keep shown the whole time? to save having to try to bugfix this xD

Well I'd been hoping to only have it up if there were actually updated settings to load...I'm also working on changing the autoupdate function so that it only updates the settings that don't require a graphics restart, until you manually click a "restart graphics" button, to prevent repeated load screens from happening on long taxi flights between zones with different settings.

You may be confusing the "Apply Settings" (which only loads the current settings into the graphics engine) and "Load Variables" (which overwrites the given settings with whatever is already IN the graphics engine, letting you customize anything you can change in the normal graphics adjustment panels in WOW, get the screen just like you want it, and then load those settings into one of the four graphics setting slots for future use.

Support AddOn Development!

You have just downloaded by the author . If you like this AddOn why not consider supporting the author? This author has set up a donation account. Donations ensure that authors can continue to develop useful tools for everyone.