Thread Tools Display Modes
11-17-13, 10:19 PM   #1
wlp2nd
A Defias Bandit
 
wlp2nd's Avatar
Join Date: Jun 2012
Posts: 2
Help with the basics

For those who read this I thank you ahead for you time. I very much would like to edit my own UI. This site is amazing but, to be fair (as I read and look into it) I very much would like to edit and put, together my own UI.
I have tried a few from this site and yes the authors are impressive with ability and style. My issue is as I try several I see my editing tweaking etc. to fit what I feel are my needs. What I plan is something simple to begin with before I delve into a project of my own. So for now a bit of advice.

I plan on altering a basic UI and changing the unit frames etc. for looks and pacticality. My question is this ,, At this point looking for the basics and was wondering if there is anything I should add initially.

Plan on using Spartan Ui

1) Bars-bartender4
2)Frames-x-perl
3)threat meter-omen
4)chat-prat
5)Buffs- ??
6)map- Sexy map
7)Damage meter-Skada
8)auction-Auctionator
9)sbt-MSBT


I plan on using a HUD and upon reading not sure if there are or what would be considered the basics. without getting into character specifics or add-ons one uses to better aid in game play. any and all suggestions would be appreciated as I wish to again learn bare basics. Must walk before i crawl even if i come off as a noob with no sense. also note some of the above choices where picked with buttonfacde and skinner in mind. Again your time is appreciated.
  Reply With Quote
11-18-13, 03:09 AM   #2
Phanx
Cat.
 
Phanx's Avatar
AddOn Author - Click to view addons
Join Date: Mar 2006
Posts: 5,617
99% of what you see when you look at "CoolGuysUI" or whatever pre-made UI package you're looking at are just addons configured using the options provided by the addons themselves. Move this there, change that texture and this font, line this up with that, make this smaller, make that bigger, add a background panel to this, etc. Then, the uploader just uploads all the addons and their personal addon settings files (saved variables).

So, if you just want to "make a UI" this is really all you need to do -- install the addons you want to use, and play with their options to make them work how you want them to work and match each other (consistent fonts, textures, alignment, etc.) If you want to share your UI with other people, just zip up your AddOns and WTF folders (after removing personal info from WTF) and upload it.

All that said, though, I'm actually kind of confused about what your goal is. I assume you already have a UI (since it's pretty hard to play the game without one) so what exactly are you wanting to do? If you just want your UI to look more cohesive, just change all your fonts and textures to match, line things up, add background panels if you're into that, etc. If there are specific things you dislike about your UI, fix them. Try different addons, different settings, etc. If you're tired of your UI and want to start over from scratch, just do that. Delete all your addons and settings, install the addons that provide the features you want, and set them up however you want.

Just "making a UI" for the hell of it, without any goal in mind -- for example, a minimal PVP UI, or a healer UI, or a Guild Wars theme UI, or even just "a UI that works for me" -- is pretty pointless, and won't really benefit you or anyone else.

If you're trying to write code to modify parts of the UI, that's something completely different, and you're going to have to be a lot more specific. Also, if you have no programming experience at all, or even no WoW addon programming experience, "replace everything in the UI" is not a realistic first project. Pick something small -- adding a background to the chat frame, for example -- and figure out how to do that, then try something more complicated, etc.
__________________
Retired author of too many addons.
Message me if you're interested in taking over one of my addons.
Don’t message me about addon bugs or programming questions.
  Reply With Quote
11-18-13, 11:19 PM   #3
Phanx
Cat.
 
Phanx's Avatar
AddOn Author - Click to view addons
Join Date: Mar 2006
Posts: 5,617
Please just post your reply on the forums, instead of sending it to me as a PM. I don't provide any sort of private support or tutoring via PM, and this isn't exactly a private conversation since you started it on the public forums. I'm replying here.

Originally Posted by wlp2nd
My goal .. to use the least amount of add-ons to decrease memory usage while having at least what i feel is needed to enjoy gameplay. fps at this point is someone a priority as it effects my performance in raids and the bigger BG's and to some degree other aspects of gameplay. Again sir thank you for your time and at the very least minimalistic is what i'm after not just in style but, also in hopes of decreasing memory usage.
This is a common misconception, and one your should rid yourself of right now. Static memory usage (eg. Addon X is taking up 2 megabytes of memory) has absolutely no effect on your FPS or any other performance metric. WoW itself will happily use 2+ gigabtyes of memory. An addon occupying 2 MB is using less than 1/100th of that. If your machine can run WoW, it isn't going to notice 2 or even 200 MB of additional memory usage by addons.

Another problem with trying to use "memory usage" as a measurement of addon performance is that many addons today use embedded libraries. For example, many addons use the AceDB library to make it easier for them to manage saved settings and profiles. Let's say you have 10 addons using AceDB. As each addon loads, its copy of AceDB checks to see if another copy is already loaded, and whether the already-loaded copy is older than itself. If no other copy is loaded yet, or the loaded copy is older, then this new copy loads and overwrites the old copy. Otherwise, it doesn't load. At the end of the process, you have 10 addons loaded, but only 1 copy of AceDB loaded in memory. Why is this a problem for measuring memory usage? Because WoW's resource tracking system wasn't designed with embedded libraries in mind, so it can't tell that the copy of AceDB in Addon B is actually being used by 10 addons, so it will just attribute the DB-related memory usage of all 10 addons to Addon B. This makes Addon B look like it's using way more memory than it acually is, and the other 9 addons like they're using less.

You should get rid of whatever part of your UI is showing you memory usage, or at least stop looking at it. It's useless at best.

-----

If you want to get technical, here are the resources that do matter:

- CPU cycle usage measures how much work an addon is asking your CPU to do. This affects your FPS because your CPU can only do so much work in a given amount of time. If your addons are asking it to do a lot of work, it can't do as much work for WoW itself.

- Increasing memory usage measures how quickly an addon's memory usage is growing. This affects your FPS because your CPU has to a little work to put stuff into memory (though you shouldn't really worry about this part) and more work to run garbage collection, which is a background process in WoW that periodically clears out all the unused data in memory. The faster memory is getting filled up, the more often garbage collection has to run. The more unused crap is in memory -- those new tables created and discarded over and over, for example -- the more work it has to do to clear it out. This is why two addons that are increasing their memory usage at the same rate may not be affecting your FPS -- an addon like Skada is keeping most of the data it's storing, so there's not much for the garbage collectorto do, but another addon might just be wasting memory by recreating tables or functions over and over again in an OnUpdate script, and those duplicate objects have to be garbage collected.

-----

If you're seeing FPS drops in situations where many things are happening quickly (eg. in raid combat) those drops are caused by:

(1) the limitations of your hardware itself. Disable all of your addons, and see how much your FPS drops in the same situation. You will probably still see a noticable decrease in your framerate, though it will probably be smaller than it is with addons. Use Ctrl+R to show your framerate on the screen.

(2) addons doing too much processing (using too much CPU time). Disable any combat-specific addons like MSBT and Skada, and see how that affects your FPS. If it makes a big difference, think about whether you really need these addons on all the time. Unless you're doing cutting-edge progression raiding, you don't really need to be running your own damage meter all the time, because it's really not critical to be eking out every possible point of DPS. If people in your raid are complaining about your poor performance, then turn on your damage meter, take the FPS hit, and try to figure out what you're doing wrong, but most of the time you should probably just leave it off.

Sames goes for cosmetic stuff like MSBT. Sure, it's cool to see all those numbers and colors and icons flying around, but do they really add anything to your gameplay? Try using the game's built-in damage and healing numbers for a while, and see if you can live with that.

(3) badly written addons thrashing the garbage collector by rapidly filling up memory for no reason. Without a full list of your addons, there's no way for me to suggest which ones may be doing this (or even if any of them are) but if you install a performance monitoring addon and look at the increasing memory usage metric (not regular, static memory usage) and identify which addons are gobbling up memory the fastest. If most of your addons are growing in the 1-10 KB/s range, but one addon is growing at 100 KB/s, that's probably a problem.

You can also check CPU usage with performance measuring tools, but keep in mind that enabling CPU profiling will significantly increase CPU usage across the board, so you should only turn it on while you're actively checking for high CPU usage, and turn it off afterward.

Broker CPU / Memory / Performance is probably your best option for measuring CPU time and increasing memory usage. It does, however, require a DataBroker display, such as Bazooka, Docking Station, or Chocolate Bar.
__________________
Retired author of too many addons.
Message me if you're interested in taking over one of my addons.
Don’t message me about addon bugs or programming questions.
  Reply With Quote
11-18-13, 11:23 PM   #4
Phanx
Cat.
 
Phanx's Avatar
AddOn Author - Click to view addons
Join Date: Mar 2006
Posts: 5,617
Part 2 as a separate post due to length.

Originally Posted by wlp2nd
Also, upon reading I see the authors don't see it so much as an insult to modify etc. there UI's...
I don't think I've ever heard an addon author say they're insulted by someone wanting to modify their code, so your understanding is correct. However, there are two significant issues with modifying the code of other people's addons and including your modified versions in your UI pacakge:

#1 - It tends to cause a lot of extra work for the addon's author, because someone downloads your modified version, and then a patch comes out and your version stops working. The user either didn't know they were getting a modified version in the first place, or forgot because that was months ago and they're just an average user and don't care (and shouldn't have to care) about that stuff, and goes to the original author for help. The original author then wastes hours and hours trying to track down what's causing the bug, when the bug does not actually exist in their addon. This is extremely frustrating for everyone involved.

#2 - In many cases, it's copyright infringement. Addon code is protected by copyright, just like a novel, a song, a movie, or a painting. You can't (legally) publish a modified version of an addon, any more than you could modify the text of Harry Potter by changing all the dialog to give the characters Jamaican accents and publish your version.

I said "in many cases" instead of "in all cases" because some addons are licensed as open source software -- using the GPL, the MIT license, etc. -- which means you can publish a modified version, and because you can always ask the author to give you permission regardless of how (or whether) the addon is licensed.

Also, note that addons that don't include a license or even a copyright notice are not public domain. Copyright in most countries (via international treaties like the Berne Convention) specifies that copyrightable works are automatically protected by copyright as soon as they're created, so once the code is written, it's copyrighted. The author doesn't have to register it with anyone, or include a notice, or even know that it's copyrighted! The default is "all rights reserved" which means you get to use it, and that's it.

-----

So, if you want to modify addons and include them in your UI package, you should make sure that you:

(a) have permission from the author. If the addon is licensed under the GPL or another open-source license, that gives you permission. If its license says you can't publish modified versions, or doesn't say anything about them, or it doesn't have a license at all, contact its author and ask permission. Many authors will probably say yes, especially those who didn't include a license; it's not that they don't want anyone using their code, but just that they didn't think about it, or didn't know the technical details.

(b) make every effort to avoid causing extra work for the author. At the very least, make it very clear on your download page which addons are modified, and remind your users that any problems with these modified versions should be reported to you, and not to the addon's original author. Even better, change the addon's name so users can't get confused in the first place. For example, if you're modifying Prat, you could rename it wlp_Prat or Prat_wlpMod or even wlpChat.

-----

An alternative would be to not modify the addon itself at all, but inject your modifications from a separate addon.
__________________
Retired author of too many addons.
Message me if you're interested in taking over one of my addons.
Don’t message me about addon bugs or programming questions.
  Reply With Quote

WoWInterface » AddOns, Compilations, Macros » AddOn Help/Support » Help with the basics


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off