Well, it was actually really easy to make a test texts module to use alongside or instead of DogTag-3.0Texts. With event-based updating disabled, it uses about 10-15k while soloing and 30-40k in raids, depending on the number of texts used and the number of units active.
Are there any suggestions as to what might make this module suitable for use in testing scenarios? Should I register for events and perform appropriate frame updates based on those events? Without adding this functionality, things like current health, power, reputation, experience, and most notably, all casting info will not be available as texts. Is it desirable to enable updates when trying to measure the performance or stability of other modules, or would it be best to stick only with static texts?
I'll try and get SimpleTexts finished this weekend. I flushed out a start on it but only bothered to get Name working. Shouldn't take too terribly long. I'll probably implement all the default DogTag codes as text formats in it. Which if you're like me you can pretty much use it to replace all your text.
Nandina, you're looking for PitBull4:NewModuleType(name, defaults, update_texts)
Actually, I suppose it would be possible to disable the text modules completely during a raid and try to compare performance. It would be kind of scary with no text on the frames, but probably still doable! :)
I've tried this during trash in 25-man Ulduar yesterday, just staring at the cpu/memory usage over a trash fight. Trashfights have been the same in both cases.
With dogtags enabled I started the fight with a memory usage of 4.28MB (just PB4), at the end it was 5.76MB, cpu usage for PB4 was sth. between 0% and 5% with some huge spikes to even higher values.
If I disable Dogtags (and reloadui) memory usage started with 2.37MB going up to 2.41MB in the end and cpu usage was never higher than 0.1%.
I'll try and get SimpleTexts finished this weekend. I flushed out a start on it but only bothered to get Name working. Shouldn't take too terribly long. I'll probably implement all the default DogTag codes as text formats in it. Which if you're like me you can pretty much use it to replace all your text.
That's exactly what I did. I created replacement versions of the default codes. For testing purposes, I decideded not to register events or use timers. I only used placeholder text for text elements that were likely to require updating more frequently than a frame would be recycled.
One thing that I found caused a couple of issues is when I gave the default text names the same names as the default texts used by the DogTag module, so I simply prepended all my default text names with "Test-". I also removed the configuration settings for "custom" codes from my module.
I don't know if that's what he meant, but what you said is for highlighting the whole frame with a debuff color. As I understood, he had the same problem I did, which is:
I want the borders of the icons of the debuffs to be their respective type, as green for poison, purple for curse, blue for magic, etc...
Right now, if I apply Serpent Sting to a target, for example, I can only make it appear with a green border or no border at all. Other people's debuffs appear with a red border or none at all. Is there an option to do what I want?
Is there a way to arrange the buffs/debuffs as it was possible in pitbull3? So that they would seperate themselves from each other automatically? At the moment I can maually define the positions where the auras appear (via offset settings for example), but that's not really efficient if I want them to use as little space as possible.
Any chance we could get an option to change the width of the portrait? Atm the portrait remains square and scales to the height of the frame and as someone who likes horizontal unitframes that are also fairly tall that means the portrait takes up a lot more width than I'd like.
I've concluded a very exhaustive set of tests, and I can verify that LibDogTags-3.0 was indeed the frame rate problem for me. I drastically reduced the number of texts being used on my raid frames (just have Name now), and it solved the problem. I also ruled out every other add-on, every video card setting, combat logging, etc. So... I can't wait for LuaTexts!
If you're looking to switch probably the most logical thing to do is to disable DogTagTexts and load LuaTexts. If you're running embeded all you should need to do to prevent LibDogTag from being load is to reload your ui. Unless of course you're running some other mod that needs it or you have it separately installed.
Shefki, one thing that would make this a bit easier would be a larger Code window (vertically). At least twice as tall if not larger would be nice. Thanks!
Edit: Another idea (unrelated to LuaTexts): Could we have a "referenced by" feature somewhere within the Layout Editor, where we can quickly see which units and groups utilize the currently selected layout? I'm ending up with orphaned layouts which I'd like to delete, and this would make it quite easy to see which they are. (I manage my wife's healer UI as well as my hunter UI through the same set of Pitbull variables, so there are a lot of layouts.)
Yes, I did that, but /dogtag still brings up the dogtag help, does that slashcommand load the lib or how does that work?
Either something else is using it or ckknight goofed when he told me that DogTags is loaded on demand when it actually needs it.
If the module is enabled at all during the session and a single text is turned on for DogTagTexts it will load LibDogTags and it will be running for the duration.
Shefki, one thing that would make this a bit easier would be a larger Code window (vertically). At least twice as tall if not larger would be nice. Thanks!
I wish. I believe I've made it as large as AceConfig lets me at this point. You can always edit in a text editor and copy and paste. If you do so avoid using tabs, use spaces to indent. The game doesn't seem to have a clue how to render tabs.
I wish. I believe I've made it as large as AceConfig lets me at this point. You can always edit in a text editor and copy and paste. If you do so avoid using tabs, use spaces to indent. The game doesn't seem to have a clue how to render tabs.
Yeah, I decided to use an external editor. This gives me syntax highlighting too.
You probably want HostileColors() for reaction colors. Keep in mind it while it shares a name with the DogTag it doesn't behave the same way. Take a look at the default Name texts to see how to use it.
Already worked it out;P
The most problems i had with correct events, because PLAYER_ENTERING_COMBAT applies only to melee autoattack;P
And i have digged up DogTag colors directly from its lua files XD
Btw i see we both wrote long answers to same question at the same time, look at the first post on previous page ^^
BTW i didn't know that %02x converts to hex. I have spent some time with calc instead >< Does it accept only integers or fractions (like 0.56) are fine as well?
I wish. I believe I've made it as large as AceConfig lets me at this point. You can always edit in a text editor and copy and paste. If you do so avoid using tabs, use spaces to indent. The game doesn't seem to have a clue how to render tabs.
I don't know how about you, but tabs are working fine for me. It depends on the editor you copy from. I'm using Notepad++, which treats tabs as spaces XD
There are a couple exceptions to this:
UNIT_SPELLCAST_SENT which happens only for your own spell casts is always watched. We save a couple variables. This is necessary because of the auto-hide cast bars in PB4. Those cast bars don't exist until the unit starts casting and as a result neither do the texts. The information given in that event is not available any other way, you miss the even it's gone forever.
I've often wondered why these bars get hidden completely while not casting. Wouldn't it be unobtrusive enough to change the cast bar's color to match its background and set it to full, so it can register for the event directly? This way its anchored texts would also always be shown (even if you set the text to be some whitespace character) to register the event.
Also, this does not account for instances where i would parent the casting text to an element other than the cast bar.
Rollback Post to RevisionRollBack
To post a comment, please login or register a new account.
Are there any suggestions as to what might make this module suitable for use in testing scenarios? Should I register for events and perform appropriate frame updates based on those events? Without adding this functionality, things like current health, power, reputation, experience, and most notably, all casting info will not be available as texts. Is it desirable to enable updates when trying to measure the performance or stability of other modules, or would it be best to stick only with static texts?
Nandina, you're looking for PitBull4:NewModuleType(name, defaults, update_texts)
I've tried this during trash in 25-man Ulduar yesterday, just staring at the cpu/memory usage over a trash fight. Trashfights have been the same in both cases.
With dogtags enabled I started the fight with a memory usage of 4.28MB (just PB4), at the end it was 5.76MB, cpu usage for PB4 was sth. between 0% and 5% with some huge spikes to even higher values.
If I disable Dogtags (and reloadui) memory usage started with 2.37MB going up to 2.41MB in the end and cpu usage was never higher than 0.1%.
That's exactly what I did. I created replacement versions of the default codes. For testing purposes, I decideded not to register events or use timers. I only used placeholder text for text elements that were likely to require updating more frequently than a frame would be recycled.
One thing that I found caused a couple of issues is when I gave the default text names the same names as the default texts used by the DogTag module, so I simply prepended all my default text names with "Test-". I also removed the configuration settings for "custom" codes from my module.
Any word on this?
It's still on my todo list, I just haven't gotten to it.
Is there a way to arrange the buffs/debuffs as it was possible in pitbull3? So that they would seperate themselves from each other automatically? At the moment I can maually define the positions where the auras appear (via offset settings for example), but that's not really efficient if I want them to use as little space as possible.
Plx gief nao?
See Shefki's post from above:
Yes, I did that, but /dogtag still brings up the dogtag help, does that slashcommand load the lib or how does that work?
Edit: Another idea (unrelated to LuaTexts): Could we have a "referenced by" feature somewhere within the Layout Editor, where we can quickly see which units and groups utilize the currently selected layout? I'm ending up with orphaned layouts which I'd like to delete, and this would make it quite easy to see which they are. (I manage my wife's healer UI as well as my hunter UI through the same set of Pitbull variables, so there are a lot of layouts.)
Either something else is using it or ckknight goofed when he told me that DogTags is loaded on demand when it actually needs it.
If the module is enabled at all during the session and a single text is turned on for DogTagTexts it will load LibDogTags and it will be running for the duration.
I wish. I believe I've made it as large as AceConfig lets me at this point. You can always edit in a text editor and copy and paste. If you do so avoid using tabs, use spaces to indent. The game doesn't seem to have a clue how to render tabs.
Yeah, I decided to use an external editor. This gives me syntax highlighting too.
Already worked it out;P
The most problems i had with correct events, because PLAYER_ENTERING_COMBAT applies only to melee autoattack;P
And i have digged up DogTag colors directly from its lua files XD
Btw i see we both wrote long answers to same question at the same time, look at the first post on previous page ^^
BTW i didn't know that %02x converts to hex. I have spent some time with calc instead >< Does it accept only integers or fractions (like 0.56) are fine as well?
I don't know how about you, but tabs are working fine for me. It depends on the editor you copy from. I'm using Notepad++, which treats tabs as spaces XD
I've often wondered why these bars get hidden completely while not casting. Wouldn't it be unobtrusive enough to change the cast bar's color to match its background and set it to full, so it can register for the event directly? This way its anchored texts would also always be shown (even if you set the text to be some whitespace character) to register the event.
Also, this does not account for instances where i would parent the casting text to an element other than the cast bar.