Quantcast Framerate drops - WoWInterface
Thread Tools Display Modes
12-06-11, 05:41 PM   #1
A Murloc Raider
Join Date: Dec 2009
Posts: 6
Framerate drops

Whenever I enable Carbonite, the framerate drops precipitously every 1-2 seconds. I really like Carbonite, so rather than disable it, I have been trying to trace the source of the issue.

The problem starts when the function Nx.Pro:OnU(ela) loads a function or table (contained within p.Fun or p.Use) - specifically p.Del just so happens to equal 1 for the first time right as this occurs.

Deleting the contents of this function restores my framerate, but breaks the quest log. So, I'm gonna try using Visual Studio and some other stuff to debug it tomorrow. Of course, if you have any ideas of what might be the cause, that would be cool too. I'm having a hell of a time deciphering the root cause due to my unfamiliarity and inexperience, but I am trying my hardest to help out. xD

Last edited by ╦nmity : 12-08-11 at 01:53 AM.
12-07-11, 10:54 AM   #2
A Cliff Giant
Join Date: Oct 2010
Posts: 77

Originally Posted by ╦nmity View Post
Whenever I enable Carbonite, the framerate drops precipitously every 1-2 seconds. I really like Carbonite, so rather than disable it, I traced the source of the issue.

The problem is in function Nx.Pro:OnU(ela), which can be found on line 24,987.

Deleting the contents of this function restores my framerate. This doesn't seem to break anything, or at least I haven't found what it breaks yet. I'd try and fix it myself, but I'm not familiar with Carbonite's nomenclature.

Anyhow, hopefully this helps.
kill's quest log on me.. Do you use quest log?
but dam my fps was up there.. I might disable quest part lol
12-08-11, 01:43 AM   #3
A Murloc Raider
Join Date: Dec 2009
Posts: 6
No, I haven't been using it, so that's why I didn't notice it had broken. ;P

Anyhow, I figured out what that function does - it loads the quest tracker's functions and tables. So my first post basically says 'Hey, the loader is loading something bad.'

That's not very helpful, so let me be a little more specific: The lag starts happening right as p.Del = 1 for the first time.

I've never debugged a lua program, so I don't know which function is loading right then. But this event coincides with the Quest Tracker UI changing from a blank box to having all the buttons and whatnot in it.

I'm trying hard to provide the best information I can. But between my lack of experience and the confusing names, I really feel silly. I guess I'll take another whack at it tomorrow with some debugging tools instead of randomly poking around like I am right now.

I have to admit, the intricacy of Carbonite is ridiculous. When I was perusing the source of DBM, MSBT, Auctionator, etc., I was able to figure out most of the code in seconds, or sometimes a few minutes for the more complex functions. Even Peggle and Bejeweled were easier to understand, and Popcap ran those through a code optimizer.

Last edited by ╦nmity : 12-08-11 at 02:03 AM.
12-11-11, 12:41 AM   #4
A Flamescale Wyrmkin
Join Date: Aug 2009
Posts: 116
I had a bit of a similar problem, although it wasn't a drop in reported FPS. My reported FPS would always be around 40-45 FPS, but my screen would consistently stutter every other second or so, showing up as a momentary screen freeze, thus effectively seriously dropping my actual FPS and/or locking the screen for a split second. In the Firelands daily quests things would get so bad that my actual FPS would live at around 10-14 FPS. It was VERY annoying.

It took me a bit of playing around fiddling with options to find that the screen stuttering ALWAYS showed up if I activated Carbs quest window achievement tracking. With that turned off the problem became only an occasional event.

I don't know if that's directly related to your problem, but it might be something to look at.
Paul Stout
nUI User and Contributor
[email protected]
12-11-11, 02:38 PM   #5
A Murloc Raider
Join Date: Dec 2009
Posts: 6
Originally Posted by Coasty View Post
I don't know if that's directly related to your problem, but it might be something to look at.
I have a similar issue, but it only happens when I turn the camera. I've been trying to trace the actual cause of both that and the intermittent framerate drops, but I've also been busy with other things, so I haven't gotten much done. I suppose the carbonite maintainers will eventually find and fix the issues (or maybe not seeing as they've existed for a while), but I'd really like to help. I'm just not skilled enough in Lua debugging, and learning has been a difficult task with the lack of documentation and tools.

Again, the complex way Carbonite runs is proving difficult to decipher as well. So far, I've figured out that it seems to dump its functions into a loader which slowly posts them to memory, then activate them in "blocks" for each component that needs activation. Most mods tend to write all their functions to memory within a single frame (the first one, which is probably one of the steps that takes place when WoW is on the loading screen), then throttle them to prevent lag. But as far as I can tell, the only meaningful time throttle in Carbonite is the one posting the functions into memory.

It could be that the original code distributed calculations across several frames (a more eloquent and efficient, but difficult to implement solution), but over time it's become more CPU-intensive without adding any additional throttling. Something like that can easily happen when a mod changes developers, since they won't necessarily know the steps taken to improve resource usage. One might assume that a lack of obvious throttling means the program doesn't need any, which really isn't the case.

Last edited by ╦nmity : 12-11-11 at 02:59 PM.
12-20-11, 04:52 PM   #6
A Murloc Raider
Join Date: Dec 2009
Posts: 6
Quite frankly, I'm afraid I have to give up. I've spent several hours trying to trace the Pro:OnU function back to the code it executes with no success. SOMETHING is dumping a lot of code into that function, and if I could figure out WHAT I might be able to help. The only functions which put data into the self.p table aren't referenced in the way I'd expect, and I get stuck here every time. So the best I can do is the general info I gave in my first post. Perhaps that will help the authors trace the problem, or maybe it won't. But it's clear to me that I'm unable to provide any more assistance than the vague description I've already given. I guess I'll just have to uninstall Carbonite for the time being, until it gets fixed by someone with the knowledge and skills to fix it.

WoWInterface » Featured Projects » Carbonite » Carbonite Archive » Framerate drops

Thread Tools
Display Modes

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