|
|
|
Forum Member
Group: Forum Members
Last Login: 11/12/2008 6:09:31 AM
Posts: 26,
Visits: 109
|
|
I'm using FeedDemon on my Mac, under VMWare Fusion 2.0. (I'd switch to NNW, but I can't give up the "unread folders" view.) It works great, but in Unity mode (commingled Mac and PC windows), it's a CPU hog.
Specifically, with a FeedDemon window open in Fusion's Unity mode, the Windows Task Manager shows 99-100% idle CPU, but the Mac's Activity Monitor shows the vmware-vmx process using over 20% of a CPU. Closing FeedDemon, or switching to Fusion Single Window mode, clears up the problem.
I checked with the VMWare folks, and they suspect that FeedDemon is making repeated calls to a high-res multimedia timer:
If I recall correctly, timeSetEvent, CreateTimerQueueTimer, and CreateWaitableTimer/SetWaitableTimer are the usual culprits.
I don't know what the .NET equivalents of these are, but any timer that requests millisecond accuracy would be a good place to start looking.
Does FD do that, and if so, is it something that would be easy to change?
System details:
Host: Mac Pro (early 2008), 8-core 3.2GHz Xeon, 16GM RAM, OS X 10.5.5, Fusion 2.0
Guest: Windows XP SP3, FeedDemon 2.7, single CPU, 2GB RAM
|
|
|
|
|
NewsGator
Group: Administrators
Last Login: Today @ 2:52:07 PM
Posts: 611,
Visits: 26,930
|
|
| Hi Jay, A co-worker actually pointed out your post in the VMware forums last night, so the good news is that I've already looked into this  FeedDemon itself doesn't use any of those timer calls, nor does it use any high-resolution timers. However, FeedDemon does embed Internet Explorer as the internal browser, so it's always possible that IE (or an IE add-in or ActiveX control such as Flash) employs a high-resolution timer. Any chance you see a similar problem when using IE, or another app that embeds IE? BTW, FeedDemon isn't a .NET app - it was written using Delphi (so it's native Win32 code). Best,
Nick Bradbury
NewsGator, Inc.|Nick's Blog
|
|
|
|
|
Forum Member
Group: Forum Members
Last Login: 11/12/2008 6:09:31 AM
Posts: 26,
Visits: 109
|
|
Curiouser and curiouser. Thanks for the correction on .NET/Delphi; dunno where I got that idea.
IE7 doesn't exhibit the same behavior. And you won't believe what stops it in FeedDemon: "Hide Toolbars". The vmware-vmx CPU drops down to about 3%. And showing the toolbar sends the CPU back up again - even if the toolbar has all its buttons removed.
Does that give you any ideas? Anything you want me to try, maybe other apps that use the same toolbar control? Obviously this isn't a critical bug, but now I'm curious.
Here's the log of other things I was trying. At the start, vmware-vmx's CPU was hovering around 22% when FD was idle. CPU usage is all approximate, of course, and I'm waiting till it quiesces...:
Close FD: 2%
Open IE7 to about:blank: 2%
Browse in IE7 to www.google.com: 2.5%
Close IE7, reopen FD: 20%
Create blank browser tab in FD, so I can close the newspaper tab: 19%
Hide Subscriptions pane: 19%
Hide News Items pane: 16%
Resize FD window much, much smaller: 16%
Resize back to large size: 16%
Hide toolbar: 3%
|
|
|
|
|
Rockstar
Group: Moderators
Last Login: Yesterday @ 10:13:42 PM
Posts: 462,
Visits: 885
|
|
As I recall Nick has the full source code of the third-party controls he uses, specifically to fix bugs in them himself rather than rely on the third party. Reproducing it in another app with the same control may or may not be much use
Please note that I am not actually employed by NewsGator, and my opinions should not be taken as their official stance on any matter. I'm just a happy FD user (since pre-1.0 alpha in 2003) helping out where I can.
|
|
|
|
|
Forum Member
Group: Forum Members
Last Login: 11/12/2008 6:09:31 AM
Posts: 26,
Visits: 109
|
|
Spyder (10/5/2008) As I recall Nick has the full source code of the third-party controls he uses, specifically to fix bugs in them himself
Oh! In that case I'll just use the fixed version. Thanks.
|
|
|
|
|
NewsGator
Group: Administrators
Last Login: Today @ 2:52:07 PM
Posts: 611,
Visits: 26,930
|
|
|
|
|
|
Forum Member
Group: Forum Members
Last Login: 11/12/2008 6:09:31 AM
Posts: 26,
Visits: 109
|
|
It seems to have the same problem, but less so - it uses about 8-9% when idle, instead of the >20% that FeedDemon uses. Weird.
I just realized I do have a license for TracePlus32, which would show all the API calls being made. Unfortunately, both FD and the test app crash when run under TracePlus. I don't know if that's a TracePlus problem, or a Fusion problem; I'll check with the TracePlus author. But I suspect that gets too much into the weeds to be useful.
|
|
|
|
|
NewsGator
Group: Administrators
Last Login: Today @ 2:52:07 PM
Posts: 611,
Visits: 26,930
|
|
| Thanks for testing that, Jay. It certainly does sound like the toolbars are the cause of the problem. My guess is that the CPU usage was smaller than with FD itself since the test app had far fewer toolbar-related components. I scanned the source code of the toolbar components, and I didn't see any indication that they rely on high-resolution timers. They do, however, use a fair number of "standard" timers, which combined could (?) result in what you're seeing. At some point (probably FD3) I plan to replace the existing toolbar components with a variant of the MS Office Ribbon toolbars, which will most likely address this issue.
Nick Bradbury
NewsGator, Inc.|Nick's Blog
|
|
|
|