Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: High Processor usage at Foobar Idle (Read 7466 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

High Processor usage at Foobar Idle

I am having problems with foobar using high amount of processor. The amount is constant 27% to 30% as reported in Task Manager and not playing any music. I have done a complete re-install and problem still exists. Only think I kept is my playbackstatistics.dat and my playlist folder and my music . This is a portable installation on a WD passport drive. With about 9000 songs with a mix of mp3 and AAC.

Vista 64-bit
Athlon X2 5200+
4gb RAM
Nvidia GeForce 8800 GT

I intend on testing it at home 32-bit later.

Here are components installed. Really just columns_ui, foo_dop and audioscrobbler.

Code: [Select]
Core (2009-05-17 06:03:30)
    foobar2000 core 0.9.6.6
foo_albumlist.dll (2009-05-17 06:01:54)
    Album List 4.3.1
foo_audioscrobbler.dll (2009-05-07 21:05:30)
    Audioscrobbler 1.4.1
foo_cdda.dll (2009-05-17 06:01:42)
    CD Audio Decoder 2.1.4
foo_converter.dll (2009-05-17 06:01:36)
    Converter 1.2.1
foo_dop.dll (2009-04-11 06:34:45)
    iPod manager 0.6.4.2
foo_dsp_std.dll (2009-05-17 06:01:54)
    Standard DSP Array 1.0
foo_fileops.dll (2009-05-17 06:00:30)
    File Operations 2.1.2
foo_freedb2.dll (2009-05-17 06:00:52)
    freedb Tagger 0.6.1
foo_input_std.dll (2009-05-17 06:01:30)
    Standard Input Array 1.0
foo_playcount.dll (2009-04-29 20:09:32)
    Playback Statistics 2.1.9
foo_rgscan.dll (2009-05-17 06:01:26)
    ReplayGain Scanner 2.0.8
foo_ui_columns.dll (2009-05-14 15:30:34)
    Columns UI 0.3.7.2
foo_ui_std.dll (2009-05-17 06:02:00)
    Default User Interface 0.9.5
foo_uie_albumlist.dll (2009-03-28 10:14:17)
    Album list panel 0.3.4

Do anyone have any suggestions?

High Processor usage at Foobar Idle

Reply #1
You might try using Process Explorer, then double-click on the foobar2000.exe process in it, go to the tab Threads - see which one does use the CPU. It might be obvious what is the culprit from the start address (e.g. foo_evil_component+1234h). Otherwise show [Stack] for all of them, select all rows and copy here in a nice [codebox‎], we'll see.
Full-quoting makes you scroll past the same junk over and over.

High Processor usage at Foobar Idle

Reply #2
You might try using Process Explorer, then double-click on the foobar2000.exe process in it, go to the tab Threads - see which one does use the CPU. It might be obvious what is the culprit from the start address (e.g. foo_evil_component+1234h). Otherwise show [Stack] for all of them, select all rows and copy here in a nice [codebox‎], we'll see.

Looks like foobar2000.exe is using the most but I am not real sure I am looking at this right.
Code: [Select]
ntoskrnl.exe!ExpInterlockedFlushSList+0x126f
ntoskrnl.exe!KeReleaseSpinLockFromDpcLevel+0x2a0
ntoskrnl.exe!KeWaitForMultipleObjects+0xcca
ntoskrnl.exe!KeWaitForSingleObject+0x2da
ntoskrnl.exe!__misaligned_access+0x35
ntoskrnl.exe!MmUnlockPages+0x1160
ntoskrnl.exe!IoAcquireCancelSpinLock+0x163
foo_playcount.dll!foobar2000_get_interface+0xa415
foobar2000.exe+0xfb5b9
foobar2000.exe+0xf0e95
foo_playcount.dll+0x312d
foo_playcount.dll+0x329f
foo_playcount.dll+0x3512
foobar2000.exe+0x6b0be
foobar2000.exe+0x13c8e8

High Processor usage at Foobar Idle

Reply #3
Disabling foo_playback.dll helps some but I am still at 18% according to Process Explorer and this is not playing music. Here is the stack:

Code: [Select]
ntoskrnl.exe!ExpInterlockedFlushSList+0x126f
ntoskrnl.exe!KeWaitForMultipleObjects+0xcca
ntoskrnl.exe!KeWaitForSingleObject+0x2da
ntoskrnl.exe!__misaligned_access+0x35
ntoskrnl.exe!MmUnlockPages+0x1160
ntoskrnl.exe!KeWaitForMultipleObjects+0xe61
ntoskrnl.exe!KeWaitForSingleObject+0x2da
win32k.sys!memset+0x6b1f
win32k.sys!memset+0x6bb6
win32k.sys!memset+0x650a
win32k.sys!memset+0x67b9
win32k.sys!memset+0x7d25
ntoskrnl.exe!ZwUnloadKeyEx+0x20d3
wow64win.dll+0x39fda
wow64win.dll+0x23178
wow64.dll!Wow64SystemServiceEx+0xca
wow64cpu.dll!TurboDispatchJumpAddressEnd+0x28
USER32.dll!DrawFrameControl+0xa4
foobar2000.exe+0x5c8a5
foobar2000.exe+0x1281db

High Processor usage at Foobar Idle

Reply #4
OK after beating my head against the wall. I decided to install a separate location and add the components back in one at a time. Finally got to the end of all the components and no problems. So the only thing left to add was my playlists or Playlist folder. Once I added it back in, problem re surfaced. So I removed the files in the folder, now I am back at ranging from 0% to 5% which is where I think it should be.

So why would playlists effect CPU usage?

I had about 27 playlist and about half of those where autoplaylists.

High Processor usage at Foobar Idle

Reply #5
I had about 27 playlist and about half of those where autoplaylists.

Autoplaylists are somewhat resource-expensive to manage. Especially force-sorted and Album List generated ones (which are also force-sorted).
elevatorladylevitateme

High Processor usage at Foobar Idle

Reply #6
Autoplaylists are somewhat resource-expensive to manage. Especially force-sorted and Album List generated ones (which are also force-sorted).


That would make sense I suppose. I do know force-sorted was off on all of them. But it's that expensive? Some could have been Album List generated too.

So workaround would be not to have autoplaylists or once they are made turn them into playlist. Would the number of standard playlists effect things?

High Processor usage at Foobar Idle

Reply #7
No not really. Standard playlists are just lists.
elevatorladylevitateme


High Processor usage at Foobar Idle

Reply #9
True.
elevatorladylevitateme

High Processor usage at Foobar Idle

Reply #10
I have noticed that some playlists when Force-Sorted with the random string will continue to sort. Kind of like an endless loop or at least I never waited for it to stop. But to be clear this wasn't the case here.

What I do know is this processor usage is very low now when playing 2% to 5% and at idle or paused it is a 0%.
When I added my playlist folder back in, automatically back to 30% usage. I should have kept the files to test with or let someone else test with but once I figured out what my problem was I got rid of them.

High Processor usage at Foobar Idle

Reply #11
OK for anyone interested I figured out what exactly was causing the problem. I have one autoplaylist that uses this string:
%rating% GREATER 3 AND NOT %last_played% DURING LAST 30 DAYS

I decided it would be nice to be able to see the song that just played in my playlist because a one minute it is removed from the playlist. So, I added "OR %last_played% DURING LAST 5 MINUTES" to the string. That is was causes the processor usage.

Using the string currently I have a usage (reporting in Process Explorer) of 18.61% remove that part of the string and immediately I drop down to 4%, this is while playing.

I guess that kicks it into searching the entire library or something? I don't really understand why that part would be that intensive. Anyone have any ideas? Does anyone know how I can accomplish the same result without using the string?

High Processor usage at Foobar Idle

Reply #12
...So, I added "OR %last_played% DURING LAST 5 MINUTES" to the string. That is was causes the processor usage.

...Anyone have any ideas? Does anyone know how I can accomplish the same result without using the string?

Same situation. 92 playlist, 3/4 auto.
Yes, the processor-eater is this critery. I played with Library > Search filters: the limit is 20 minutes.
"%last_played% DURING LAST 19 MINUTES" - CPU on 18% for foobar
"%last_played% DURING LAST 20 MINUTES" - CPU on 0% for foobar (0-2%, if playing)

Workaround: it's easy and quickley to switch to Facets tab, where I have a pre-figured filter "%last_played% DURING LAST 10 MINUTES".

Re: High Processor usage at Foobar Idle

Reply #13
This is my first necro-post, but I want to thank incifinci so much for posting this information. I had this query snippet in two of my autoplaylists, and it was constantly causing 10% CPU load per playlist.

Code: [Select]
%rating% MISSING OR %last_modified% DURING LAST 180 SECONDS

I also can confirm that changing the duration to 20 MINUTES or longer/coarser (but not 1200 SECONDS) works for reducing the CPU load back to sane (2%) levels.