Download
(163Kb)
Download
Updated: 05-06-09 06:24 AM
Pictures
File Info
Updated:05-06-09 06:24 AM
Created:unknown
Downloads:8,356
Favorites:120
MD5:

gfxToggle 2  Popular! (More than 5000 hits)

Version: 2.3.0-beta2
by: Drooliog [More]

Features
What does this addon do?

Maybe you are a gamer with a computer, which is not an uber-high-end-wtfpwnz0riz0r-machine (perhaps you're gaming on a notebook?) and when you get your char into a crowded area your frames per second (FPS) drop instantly. (e.g. like Ironforge, Orgrimmar, Alterac Valley)

So what can you do about that? Hmm, changing the graphic settings in WoW would be a good choice but it soon gets a pain in the butt to change it over and over, so I had the idea to code an addon that toggles these settings automatically by just pressing one key or let it automatically switch settings depending on the zone you're entering. e.g. When I do PvE, I'd like to switch settings to high, when I'm at PvP or in town I'd toggle to low.

gfxToggle 2 has key bindings, slash commands and LDB support

This addon affects the following graphic-parameters (they all don't need a logout or restart of the game):

Effects:
- View Distance (Farclip)
- Environment Detail
- Texture Resolution
- Ground Clutter Density & Radius
- Particle Density
- Weather Intensity
- Shadow Quality
- Death Effect
- Full-Screen Glow Effect
- Projected Textures

Misc:
- Vertical Sync
- Triple Buffering
- Reduce Input Lag

Note: I've only added settings that don't need a restart of the game to take effect. I did this on purpose and I won't add any other features that'll need a restart, so please don't ask.

There are three ways the addon switches the parameters. Note: at the bindings menu you can assign a key to gfxToggle.

1) By pressing the Toggle-Key: If you didn't save customized settings it'll switch from lowest to highest by default.

2) By pressing the Toggle-Key: Once you've saved your customized settings for low and high it will use these instead. (will be saved permanently until you reset or set new ones)

3) Auto-Switch Mode: If you added a zone to the gfxToggle database, it will check for this specific zone and switch automatically to LOW when you're entering it. After you leaved that zone gfxToggle will switch back to HIGH.


Commands
At first bind a 'Toggle Low/High' and 'Auto-Switch'-Key to gfxToggle (you'll find it in WoW's bindings menu)

- '/gfxt about' - will show some extra information about this addon.

- '/gfxtoggle' or '/gfxt' - will show help and all available commands.

- '/gfxt mute' - will toggle all messages off/on.

- '/gfxt medium' - will turn on the new medium feature.

- '/gfxt delay' - set the delay for auto-toggle in seconds.

- '/gfxt restartgx' - Allows or disallows re-initializing the graphics driver (needed for VSync changes).
To switch VSync and Smooth Mouse the game has to restart the graphics. While it does the restart, it'll switch to the desktop for a duration of 1-2 seconds. By using this command you allow switching of Vsync and Smooth Mouse. It's deactivated by default.

- '/gfxt auto' - will toggle auto-switch mode. you can add zones to a database which will get automatically switched to low or medium settings (if activated) after you've entered them.

- '/gfxt toggle' - will manually toggle between low/(medium)/high (for using in macros).

- '/gfxt save low', '/gfxt save medium' and '/gfxt save high' - will save settings you've done in the graphics options.
Before you execute this command, go to the WoW graphics options and make your changes to the world appearance, the shaders and the misc settings. Click on the 'OK' button after you're done. After that type '/gfxt save low', '/'gfxt save medium' or '/gfxt high'
just depending on your settings. These stored settings will also be used for the auto-switch mode.

- '/gfxt addl' - will add a zone to the low database, eg. '/gfxt addl' saves the actual zone '/gfxt add Orgrimmar' is saving Orgrimmar to the low zones db.

- '/gfxt addm' - will add a zone to the medium database, eg. '/gfxt addl' saves the actual zone '/gfxt add Orgrimmar' is saving Orgrimmar to the medium zones db.

- '/gfxt del' - will delete a zone from the database. Same usage as for the 'add' command.

- '/gfxt del all' - clears your whole zone database. (can't be undone)

- '/gfxt list' - will list all zones you entered before

- '/gfxt reset' - will popup a dialog which'll ask you to confirm to clear settings and use defaults

Each time you switch the settings, gfxToggle will report it in an overhead text message (green = low, yellow = medium, red = high) except you mute gfxToggle 2 by '/gfxt mute'.

v2.3.0-beta2
- gradually increase farclip to avoid loading screen
- more code tidy-up; remove temporary table abusage

v2.3.0-beta1
- fix: ticket 1; error when /gfxt list - no translation for "Zones: Low"
- fix: potential exposure of 'self' global var
- remove M2Faster, also hidden lod and shadowLOD CVar's
- only RestartGx() if necessary, when special CVar's actually changes
- force RestartGx() when manually loading a set (but only if necessary)
- even if gxRestart disabled, still set the relevant CVar's
- general code tidy-up; remove needless object vars and functions
- rearrange saved vars structure (all sets will be lost)

v2.2
- split spellEffectLevel into particleDensity and projectedTextures
- re-normalise default settings for low, mid and high
Post A Reply Comment Options
Unread 05-01-09, 04:58 PM  
Drooliog
A Kobold Labourer
AddOn Author - Click to view AddOns

Forum posts: 0
File comments: 55
Uploads: 2
Originally posted by AnrDaemon
Actually, my idea was to apply all changes after first <delay> except FarClip.
And increse FarClip consecutively every <delay> until it reaches the designated value.
There's really not much different in that. There's already a (default 5s) delay for auto mode and Farclip now begins a gradual increase over couple of seconds or so, by which time the other settings have already been applied after the first step.

Kind of wish: set settings to low when i'm casting Heartstone, Astrall Recall or Scroll of Recall (Inscription thingy) or similar spell (may be mages could benefit from it using teleportation spells).
Intention it to have faster loading (yet again) upon arrival.
Hmm, very good idea. Although if there was a direct way to load a set from command line (strange that there isn't one atm), it could be included in a macro instead. But yea, spell detection would be easier. That's pretty doable. Maybe even better to read the destination zone in advance and set it to whatever profile is used there.
Report comment to moderator  
Reply With Quote
Unread 05-01-09, 04:52 PM  
AnrDaemon
A Chromatic Dragonspawn
AddOn Author - Click to view AddOns

Forum posts: 156
File comments: 2231
Uploads: 5
Splendid! Most splendid! Works excitingly well!
Port from low to high zone went absolutely smooth this time!
Report comment to moderator  
Reply With Quote
Unread 05-01-09, 04:27 PM  
AnrDaemon
A Chromatic Dragonspawn
AddOn Author - Click to view AddOns

Forum posts: 156
File comments: 2231
Uploads: 5
Kind of wish: set settings to low when i'm casting Heartstone, Astrall Recall or Scroll of Recall (Inscription thingy) or similar spell (may be mages could benefit from it using teleportation spells).
Intention it to have faster loading (yet again) upon arrival.
Report comment to moderator  
Reply With Quote
Unread 05-01-09, 04:22 PM  
AnrDaemon
A Chromatic Dragonspawn
AddOn Author - Click to view AddOns

Forum posts: 156
File comments: 2231
Uploads: 5
Originally posted by Drooliog
Just did a quick test - surprisingly, it works! At least, it's a lot better, and totally gets rid of the loading screen on my rig. Seems Farclip can be increased by 10 at a time (11 triggers the loading screen) but the next change has to occur with a slight delay (probably possible on the very next frame).
Actually, my idea was to apply all changes after first <delay> except FarClip.
And increse FarClip consecutively every <delay> until it reaches the designated value.
Report comment to moderator  
Reply With Quote
Unread 05-01-09, 02:30 PM  
Drooliog
A Kobold Labourer
AddOn Author - Click to view AddOns

Forum posts: 0
File comments: 55
Uploads: 2
Alpha test version with Farclip fix:

http://drool.me.uk/files/gfxToggle2-r80.zip
Report comment to moderator  
Reply With Quote
Unread 05-01-09, 01:56 PM  
Drooliog
A Kobold Labourer
AddOn Author - Click to view AddOns

Forum posts: 0
File comments: 55
Uploads: 2
Originally posted by AnrDaemon
Right, and I didn't mean that it could remove loading screen. But it could speed it up and allow better control over character in process.
Just did a quick test - surprisingly, it works! At least, it's a lot better, and totally gets rid of the loading screen on my rig. Seems Farclip can be increased by 10 at a time (11 triggers the loading screen) but the next change has to occur with a slight delay (probably possible on the very next frame). I'll put up a test version for you shortly.

Now I'm wondering if staggering other graphics settings might have a similar benefit...

(Regarding OOC - this is definitely the case. My position on this is to not do anything non-obvious while character in combat)
Absolutely, that'll get put in then.
Report comment to moderator  
Reply With Quote
Unread 05-01-09, 12:03 PM  
AnrDaemon
A Chromatic Dragonspawn
AddOn Author - Click to view AddOns

Forum posts: 156
File comments: 2231
Uploads: 5
Originally posted by Drooliog
Aye, I'm aware of this. The loading screen actually comes up when the Farclip setting is increased - it doesn't happen when it decreases. It's impossible (at least I'm pretty certain it is) to gradually increase Farclip without triggering the loading screen. So I'm thinking of ignoring farclip increases (but allowing decrease) unless certain conditions are met - OOC, standing still, nothing targeted/focused etc..
Right, and I didn't mean that it could remove loading screen. But it could speed it up and allow better control over character in process.
Can you add it for testing so I can see if it really worth this bothering, or your approach is better option?
(Regarding OOC - this is definitely the case. My position on this is to not do anything non-obvious while character in combat)
Report comment to moderator  
Reply With Quote
Unread 05-01-09, 06:23 AM  
Drooliog
A Kobold Labourer
AddOn Author - Click to view AddOns

Forum posts: 0
File comments: 55
Uploads: 2
Originally posted by AnrDaemon
Not in Titan Panel. And due to fair argument from Tristanian.
Hmm, I haven't read his posts but I have to admit, I don't understand the reasoning either. Almost every other LDB display allows control over the components, and putting the configuration code back into the addons kinda defeats the purpose of LDB imo. It should really be up to the user (and I notice the option is greyed out - oh well).

Sounds nice, but, honestly, aside from direct edit of hidden video settings, 3 saved modes enough for me so far.
Not everyone has the same hardware and some graphics options impact machines differently. My reasoning for providing configurable profiles (you'll be able to delete and rename the defaults if you want) is the ability to add or remove specific CVar's to a profile. e.g. As a developer, I want to be able to switch to window mode at a lower resolution, AA off and enable vsync so as not to tax the CPU while I'm in a text editor/browser.

Aside from joking, can you please do not discard existing settings with addon update? Your default high nearly killing my video system... barely can move mouse.
The defaults (which you can change by editing the graphics options and saving over the High profile) match the Blizzard slider profiles (apart from Medium which is a cross-between Good/Fair), so it's not like it's excessive. Before my recent updates, some of the CVar's on the High profile were OTT.

The problem is the hardcodedness of the addon in general - i.e. High is considered default (which will eventually be configurable), Medium is largely coded to be optional (mainly to be included as a toggle) and Low. I've been trying to clean up the code to allow for more flexibility in the future.

Hm... got a request. I've noticed (better said: been hit (even, smashed) by) the fact that jump-like change of view distance from minimum to maximum producing quite a lengty loading screen...
Aye, I'm aware of this. The loading screen actually comes up when the Farclip setting is increased - it doesn't happen when it decreases. It's impossible (at least I'm pretty certain it is) to gradually increase Farclip without triggering the loading screen. So I'm thinking of ignoring farclip increases (but allowing decrease) unless certain conditions are met - OOC, standing still, nothing targeted/focused etc..
Last edited by Drooliog : 05-01-09 at 06:26 AM.
Report comment to moderator  
Reply With Quote
Unread 04-30-09, 06:58 PM  
AnrDaemon
A Chromatic Dragonspawn
AddOn Author - Click to view AddOns

Forum posts: 156
File comments: 2231
Uploads: 5
Hm... got a request. I've noticed (better said: been hit (even, smashed) by) the fact that jump-like change of view distance from minimum to maximum producing quite a lengty loading screen. Especially if you leaving Dalaran in a taxi. Could it be mado so the view distance would be changed gradually, with designated delay? There's about 5 or 6 positions, by 5 sec, should make transition smooth enough.
Report comment to moderator  
Reply With Quote
Unread 04-30-09, 06:09 PM  
AnrDaemon
A Chromatic Dragonspawn
AddOn Author - Click to view AddOns

Forum posts: 156
File comments: 2231
Uploads: 5
Originally posted by Drooliog
In many LDB displays, the text portion can usually be hidden, so I'm not sure it's a good idea or easily feasible to make it a configurable switch between launcher or data source (it's meant to be a one-time setup) when I could fairly easily add those options in myself. However, I'm intending to make major changes to the UI in either case...
Not in Titan Panel. And due to fair argument from Tristanian. You can read it in Titan thread here on WoWI, and I agree with his reasoning. Not that it pleased me, but it makes sense.

Eventually I want to add more default profiles (i.e. similar to Blizzard's Low, Fair, Good, High, Ultra and maybe Windowed, Dungeon, Raid, Town etc.) and the ability to add new ones, specify a default etc.. Possibly sub-zone support and/or a dynamic mode or built-in presets. Finally, it would be nice to support the more advanced graphical CVar's and be able to directly edit the values for them in each profile.
Sounds nice, but, honestly, aside from direct edit of hidden video settings, 3 saved modes enough for me so far.
High: Max view, max environ = general questing/farming
Med: Min view, max environ = pvp/instances
Low: Min view/min environ = epic raids/AV/Capitals

(Heh, I might be better off rewriting from scratch and giving the addon a more appropriate name.)
Hehe (Imagine female draenei saying that)

Aside from joking, can you please do not discard existing settings with addon update? Your default high nearly killing my video system... barely can move mouse.
Report comment to moderator  
Reply With Quote
Unread 04-30-09, 05:36 PM  
Drooliog
A Kobold Labourer
AddOn Author - Click to view AddOns

Forum posts: 0
File comments: 55
Uploads: 2
Originally posted by AnrDaemon
[b]I don't and won't use any autoupdaters, also I really hate Curse - their bloated pages with ONLY HTML CODE weight in MEGABYTES (every single page load - 500k to 800k - sorry, I have cheap internet connection, but not cheap enough to spare megabytes of traffic for 10 strings of text) makes me really angry.
Well, there's always the WowAce site... or you'll just have to wait for me to turn alphas into betas/releases and upload them here (as I did today).

For LDB - I would really like to have feed type set to "launcher" by default, so I do not need to patch every update for that by myself.
The text provided by addon quite useless for me, I only need ability to sometimes click on icon or rather, rarely consult with current zone settings to make sure it behave as expected.
In many LDB displays, the text portion can usually be hidden, so I'm not sure it's a good idea or easily feasible to make it a configurable switch between launcher or data source (it's meant to be a one-time setup) when I could fairly easily add those options in myself. However, I'm intending to make major changes to the UI in either case...

I want to get rid of the bloated library code for the tooltip and pull-down menus in favour of a simpler single-click functionality - a pull-down with everything in it (load, save, options etc.). The 'tooltip' will be simpler, more compact, and show only the current settings (optional). Once that's done, it'll be ready for a port to Ace3.

Eventually I want to add more default profiles (i.e. similar to Blizzard's Low, Fair, Good, High, Ultra and maybe Windowed, Dungeon, Raid, Town etc.) and the ability to add new ones, specify a default etc.. Possibly sub-zone support and/or a dynamic mode or built-in presets. Finally, it would be nice to support the more advanced graphical CVar's and be able to directly edit the values for them in each profile.

(Heh, I might be better off rewriting from scratch and giving the addon a more appropriate name.)
Report comment to moderator  
Reply With Quote
Unread 04-30-09, 04:32 PM  
AnrDaemon
A Chromatic Dragonspawn
AddOn Author - Click to view AddOns

Forum posts: 156
File comments: 2231
Uploads: 5
I don't and won't use any autoupdaters, also I really hate Curse - their bloated pages with ONLY HTML CODE weight in MEGABYTES (every single page load - 500k to 800k - sorry, I have cheap internet connection, but not cheap enough to spare megabytes of traffic for 10 strings of text) makes me really angry.

For LDB - I would really like to have feed type set to "launcher" by default, so I do not need to patch every update for that by myself.
The text provided by addon quite useless for me, I only need ability to sometimes click on icon or rather, rarely consult with current zone settings to make sure it behave as expected.
Report comment to moderator  
Reply With Quote
Unread 04-23-09, 03:27 PM  
Drooliog
A Kobold Labourer
AddOn Author - Click to view AddOns

Forum posts: 0
File comments: 55
Uploads: 2
If you have a WowAce account, or use Curse Client, you can download an alpha from there with a fix for the /gfxt list issue. I'm working on a major code tidy-up so it would be good to get some testers as well. By the way, would it help if I put an option to hide the text for use in Titan (so you only have the icon)?
Last edited by Drooliog : 04-23-09 at 03:29 PM.
Report comment to moderator  
Reply With Quote
Unread 04-22-09, 07:35 AM  
AnrDaemon
A Chromatic Dragonspawn
AddOn Author - Click to view AddOns

Forum posts: 156
File comments: 2231
Uploads: 5
I don't have suitable place on Titan Panel, unfortunately. I'll give that plugin a try.
However, the VERY, VERY old bug didn't fixed yet...

/gfxt list
Code:
gfxToggle2:  
gfxToggle2: Zones: Low
gfxToggle2: Dalaran
gfxToggle2: Ironforge
gfxToggle2: Vault of Archavon
gfxToggle2:  
gfxToggle2: Zones: Medium
gfxToggle2: Wintergrasp
gfxToggle2:  
gfxToggle2: 4 Entries found.
Immediately followed by
Code:
Date: 2009-04-22 17:32:54
ID: 1
Error occured in: Global
Count: 1
Message: ...ns\Cartographer\libs\AceLocale-2.2\AceLocale-2.2.lua line 487:
   AceLocale(gfxToggle): Translation "Zones: Low" does not exist.
Debug:
   (tail call): ?
   ...ns\Cartographer\libs\AceLocale-2.2\AceLocale-2.2.lua:488:
      ...ns\Cartographer\libs\AceLocale-2.2\AceLocale-2.2.lua:485
   ...ns\Cartographer\libs\AceLocale-2.2\AceLocale-2.2.lua:46:
      ...ns\Cartographer\libs\AceLocale-2.2\AceLocale-2.2.lua:44
   gfxToggle2\gfxToggle2.lua:509: ?()
   ...Ons\Decursive\libs\AceConsole-2.0\AceConsole-2.0.lua:1863:
      ...Ons\Decursive\libs\AceConsole-2.0\AceConsole-2.0.lua:1564
   ...Ons\Decursive\libs\AceConsole-2.0\AceConsole-2.0.lua:2402: ?()
   ..\FrameXML\ChatFrame.lua:3325: ChatEdit_ParseText()
   ..\FrameXML\ChatFrame.lua:3045: ChatEdit_SendText()
   ..\FrameXML\ChatFrame.lua:3066: ChatEdit_OnEnterPressed()
   [string "*:OnEnterPressed"]:1:
      [string "*:OnEnterPressed"]:1
AddOns:
  Swatter, v5.1.DEV.150
  WowheadLooter, v30018
  Altoholic, v3.1.001b
  Atlas, v1.13.0
  AtlasBattlegrounds, v1.13.0
  AtlasDungeonLocs, v1.13.0
  AtlasOutdoorRaids, v1.13.0
  AtlasTransportation, v1.13.0
  AtlasLoot, vv5.04.01
  AtlasLootReverse, v1.3
  AucAdvanced, v5.1.DEV.2530
  AucFilterBasic, v5.1.DEV.3854
  AucFilterOutlier, v5.1.DEV.3855
  AucMatchUndercut, v5.1.DEV.2531
  AucStatPurchased, v5.1.DEV.3912
  AucStatSales, v5.1.DEV.2842
  AucStatSimple, v5.1.DEV.4152
  AucUtilAHWindowControl, v5.1.DEV.3311
  AucUtilAppraiser, v5.1.DEV.2530
  AucUtilAskPrice, v5.1.DEV.3175
  AucUtilAutoMagic, v5.1.DEV.3142
  AucUtilCompactUI, v5.1.DEV.2530
  AucUtilEasyBuyout, v5.1.DEV.3583
  AucUtilItemSuggest, v5.1.DEV.3108
  AucUtilPriceLevel, v5.1.DEV.2545
  AucUtilScanButton, v5.1.DEV.2530
  AucUtilSearchUI, v5.1.DEV.3655
  AucUtilVendMarkup, v5.1.DEV.2530
  Babylonian, v5.1.DEV.130
  Bartender4, v4.3.2
  BeanCounter, v5.1.DEV.4144
  Cartographer, v2.0
  CartographerFoglight, v2.0
  CartographerGroupColors, v2.0
  CartographerGuildPositions, v2.0
  CartographerNotes, v2.0
  CartographerZoneInfo, v2.0
  Chatter, v1.0
  ClosetGnome, v1.0.602
  Configator, v5.1.DEV.190
  Constructor, v<%version%> (<%codename%>)
  DebuffFilter, v1.93
  DebugLib, v5.1.DEV.130
  Decursive, v2.4.0.2
  Enchantrix, v5.1.DEV.3744
  Gatherer, v<%version%>
  gfxToggle2, v2.2
  Gymnast, v
  IceHUD, v1.5.5 (Revision: 388)
  Informant, v5.1.DEV.3721
  LibExtraTip, v1.0
  LibHealComm30, v
  Livestock, v1.1.6
  OmniCC, v2.3.2
  PreformAVEnabler, v
  QuestHelper, v0.103
  RatingBuster, v
  RecipeRadar, v1.31
  RecipeRadarTitan, v2.00.30000
  Recount, v
  ReloadUI, v1.0
  RepWatch, v2.1.16
  SharedMedia, v3.0
  SlideBar, v5.1.DEV.136
  StanceSets3, v3.3
  Stubby, v5.1.DEV.130
  TipHelper, v<%version%> (<%codename%>)
  Titan, v4.1.9.30100 - Revision 216
  TitanAmmo, v4.1.9.30100
  TitanBag, v4.1.9.30100
  TitanClassTracker, v
  TitanClock, v4.1.9.30100
  TitanCoords, v4.1.9.30100
  TitanGoldTracker, v4.1.9.30100
  TitanLootType, v4.1.9.30100
  TitanPerformance, v4.1.9.30100
  TitanRegen, v4.1.9.30100
  TitanRepair, v4.1.9.30100
  TitanSkills, v1.0.8
  TitanVolume, v4.1.9.30100
  TitanXP, v4.1.9.30100
  TomTom, v199
  TooltipItemIcon, v1.54
  TotemTimers, v9.1e
  WowLua, v29 
  XPerl, v3.0.3a
  XPerlArcaneBar, v
  XPerlParty, v
  XPerlPartyPet, v
  XPerlPlayer, v
  XPerlPlayerBuffs, v
  XPerlPlayerPet, v
  XPerlRaidFrames, v
  XPerlTarget, v
  XPerlTargetTarget, v
  zimMinimap, v20400.2
  (ck=9b7)
Report comment to moderator  
Reply With Quote
Unread 04-21-09, 05:36 PM  
Drooliog
A Kobold Labourer
AddOn Author - Click to view AddOns

Forum posts: 0
File comments: 55
Uploads: 2
Originally posted by AnrDaemon
Looks like I was enjoyed too early.
How can I bring minimap button back?
The old FuBar minimap button was dispensed with a while ago - it uses LDB now - so any Broker display will do. Broker2FuBar will provide the same functionality (even if you don't use FuBar), and an option to put it as a minimap button.
Report comment to moderator  
Reply With Quote
Post A Reply



Category Jump: