1. #1
    Herald of the Titans xebtria's Avatar
    Join Date
    Jul 2007
    Location
    Bloody ol' Germany
    Posts
    2,874

    Hi CPU usage with nameplates on

    Hi guys,

    has anyone noticed this lately? I used to have no problems with nameplates, but I think since mop, whenever I have about 10+ nameplates at the same time on the screen, my FPS drops dramatically. I disable then, and I instantly get high FPS again.

    I'm using Tidy Plates Thread Plates.

  2. #2
    I am sorry I am not much help but I am currently using threat plates and have not experienced this problem. I believe my other guildees also use this and they have reported no problems. You might have to try disabling all other addons and testing threat plates on its own, that way you can check if its is a conflict with another addon.

  3. #3
    Is it true that nameplates are either all stacked up at one spot that we can't tell them apart, or spread out way across the screen while flickering around. In addition, nameplates are either way too wide, or way too slim.

  4. #4
    Nameplates can be a huge resource hog. Especially since they run OnUpdate scripts on each of them (for updating tagged mobs, showing castbars on every nameplate and all that stuff). The Blizzard nameplates do that in C, not in Lua afaik.

    OnUpdate scripts fire on every single frame printed to the screen. Even the best computers will notice a huge FPS gain if you have 30-70 nameplates on screen and disable them by hotkey. This is nothing that can be prevented. It is just how nameplates work.

    The issues can even grow bigger is you use an additional nameplate addon that tops the cake with even more OnUpdate scripts.

    Try testing the default nameplates only. Test the fps drop. It it is the same you can do nothing about it. Sorry.
    The problem is not only the OnUpdate stuff but the position calculation aswell. Not sure which one is worse.

    You can try different position settings (stacked, spread etc and check for fps results. Maybe one works better)
    Last edited by zorker; 2013-06-21 at 10:20 AM.
    | Simple is beautiful.
    | Roth UI | Roth UI FAQ | GoogleCode | Zork | TDMOG

    "I wonder what the non-pathetic people are doing tonight?" - Rajesh Koothrappali (The Big Bang Theory)

  5. #5
    I have to add sth to this thread because some of us did some research on that topic on the PTR.

    http://www.wowinterface.com/forums/s...ad.php?t=46740

    Semlar posted a test unit addon that had amazing results on the fps.

    So who is into that stuff should read it.

    Currently we are unsure why this
    Code:
                f:Hide() -- Try commenting this out and see what happens to your frame rate
                f:SetPoint('CENTER', WorldFrame, 'BOTTOMLEFT', plate:GetCenter()) -- Position our frame relative to the nameplate
                f:Show()
    has such a positive effect on fps. If you comment out the hide function you see a massive decrease in fps. Even stuttering.

    So doing SetPoint on a visible frame with many many objects (fontstrings, textures, frames) on it has major effect on fps. That same frame hidden before SetPoint and shown thereafter will not suffer any fps loss at all.

    This applies to any project you have that has a movable object with hundreds of subobjects. If you drag that frame around...hide all subframes before you do so (if they affect your fps).

    Conclusion:
    It is possible to fix nameplates. It should be even possible to create a new nameplate addon with the technique posted by semlar that will bring a performance boost when compared to the Blizzard ones.
    Last edited by zorker; 2013-07-01 at 06:41 AM.
    | Simple is beautiful.
    | Roth UI | Roth UI FAQ | GoogleCode | Zork | TDMOG

    "I wonder what the non-pathetic people are doing tonight?" - Rajesh Koothrappali (The Big Bang Theory)

  6. #6
    If you frame:Show() twice without a frame:Hide() function doesn't it just create an additional frame on top of it (as WoW doesn't really delete frames) and maybe that's why it's behaving like that? Unless of course you remove the hide and show and try the SetPoint in which case it's interesting why it has an effect on FPS.

  7. #7
    :Show() and :Hide() simply toggles an internal flag. :Show() doesn't create frames.
    UI & AddOns expert | Interface & Macros moderator - My work

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •