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: Album Art Downloader XUI (Read 2036669 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Album Art Downloader XUI

Reply #275

You can't sort results by accuracy, because there isn't anything generally meaningful to test against for accuracy. The sources just return the results, there is no measure of certainty about the results they return.

I can see that linking to a web page for a cover might come in handy occasionally, but it would need every source to determine and provide an Info url for each result, and I don't think it's worth it. I don't object to the functionality in principle, though.

As for the other idea, I'll re-iterate that this tool is not, and will not become, a music organization or library management tool. I can see that such an application is a useful thing to have, but this is not that application. It could be an external tool or plugin used by one for finding art, though.

I'm not sure why you are getting 5% CPU utilisation when it isn't doing anything. It's pegged at 0 on my machine here, but then my CPU is a bit faster than a P4, so I guess it might just be that the utilisation isn't high enough to register, without actually being 0. Without being able to measure the effect, I can't do much about it. There are no background threads or tasks running (until a search or browse is performed, of course), so there aren't even any specific areas to look at.

Alex

Album Art Downloader XUI

Reply #276
I'm not sure why you are getting 5% CPU utilisation when it isn't doing anything. It's pegged at 0 on my machine here.

After downloading search results AAD uses 15 to 26% P4 capacity continuosly without visibly doing anything - see the attached screenshoot archive. It looks like fixable unnessessary .Net 3.5 WPF related activity.

Is it related to below quote from http://en.wikipedia.org/wiki/Windows_Presentation_Foundation or something different:
"Periodically, MIL walks the tree and executes the rendering instructions in each node, thus compositing each element on to a DirectX surface, which is then rendered on screen. ..Microsoft recommends that the event handlers only update the properties to reflect new content for application responsiveness; the new content be generated or retrieved in a background thread."

Album Art Downloader XUI

Reply #277
the new content be generated or retrieved in a background thread."
This is already the way Album Art Downloader is architected. You can tell by the way the application UI stays responsive while it is searching and downloading images. The responsiveness talked about in the Microsoft article linked to from the Wikipedia article you mentioned refers to the responsiveness of the UI - making sure that while content is generated or retrieved the buttons and controls still work, and nothing locks up. It has nothing to do with CPU utilisation, other than if it were pegged at 100% that would probably impact responsiveness a bit!

Neither WPF, nor, by extension, Album Art Downloader, have CPU utilisation as a primary concern. If there is a bug or problem that it is doing unnecessary work when it shouldn't be, or stuck in some sort of loop, I will try and fix that, but when there is no non-framework code running (and I have checked that at idle, AAD is running no code), there is nothing to fix.

Alex

Album Art Downloader XUI

Reply #278
There is nothing to fix.

Alex, did you look at the screenshoot files on AAD CPU usage at idle I attached above? How do you explain these results? What are these linked to AAD processes continuosly running in the background using 10% + 15% CPU after 20+ Album Covers were found and the search stoped? Do you still say, after looking at the Sysinternals Process Explorer documented pics, AAD uses 0% CPU at idle? How about 25% of P4 continuosly after an extensive Cover search. And foobar2000 was designed for and works well with minor CPU usage with even P2 PCs.

In addition, when I started AAD yesterday while foobar was playing, intence CPU & power usage resulted in my MS USB Wireless Desktop Receiver been kicked off, and no longer recognized by the PC, so I lost both Keyboard and Mouse. It may well be a bug in .Net 3.5, or just insufficient resulting voltage on the USB port due to a weak (fearly standard) Power Supply, but the worst thing is - there seems to be no XP driver found anywere for the Receiver 3.1, so major Registry cleanups & reinstalls are due now, and there is no guarantee, its not damaged permanently, as its recognized now as Unknown Device, no matter what I do.

Album Art Downloader XUI

Reply #279

Yes, I looked at your screenshots. No, I don't have any specific explanation of them. All I can tell you is that once all the sources have finished searching, and all the images are downloaded (including full sized, if you have that option turned on), and assuming the mouse is outside the window area, then Album Art Downloader is doing absolutely nothing. That is why there is nothing to fix. It isn't doing anything, no code is running. I can't fix code that isn't there.

If the WPF rendering system, or the garbage collector, any other subsytem of the .net framework or anything even further down is doing other work, that's not going to get fixed by me.

I am aware that foobar2000 uses very little CPU, which is is a very useful goal for an application whose purpose is to be continually running in the background without impacting system performance, and the way they have achieved it is to be admired. Album Art Downloader has different goals and priorities. If a primary goal of an application was minimal CPU and resource usage, I wouldn't write it in WPF, for a start!

I'm sorry to hear about your mouse. If your hardware is so unstable that using a high percentage of CPU is enough to break it, then that is a serious problem. It's only be a matter of time before some poorly written application or javascript hits an infinite loop and you get CPU pegged at 100% until you kill the process! It would seem unlikely that anything short of a major mains power spike would damage a USB wireless receiver - and would probably fry the motherboard on its way, so my guess would be you are all right there. Good luck with getting the driver for it.

Alex

Album Art Downloader XUI

Reply #280
my guess would be you are all right there. Good luck with getting the driver for it.

Alex
Just to let you know - the wireless tranceiver is dead, confirmed by MS today. It's under warranty though. Regardless, another guy may not be so lucky. I'd suggest you to investigate thoroughthly with MS help, what exactly is going on at idle with your program instead of a flat denial. There should be a processor usage restriction Option when searching through local ID3 Tags, otherwise the fan circuit may fry and PC end up dead. I just checked - its running up to 25% P4 at idle after a start without search terms.

Album Art Downloader XUI

Reply #281
the wireless tranceiver is dead, confirmed by MS today
Shame, unlucky. As you seem to be implying that this is somehow my fault, let me make one thing absolutely clear. Using CPU is not a fault. If your PC cannot tolerate having the CPU running at high loads without dying, *your PC has a fault*.

While it may be of benefit to all if MS were to optimise and reduce the resource usage of WPF, and I hope they have a team working on exactly that, it is nothing to do with me. I am prepared to investigate and resolve faults in my own code, but draw the line at other people's.

If you want to restrict processor usage, try bringing up Task Manager, click the Processes tab, find AlbumArt.exe in the list of processes, right click on it and choose "Set Priority", then "Low". Although I suspect that if nothing else is wanting to use the CPU at the same time, Windows will still assign it a high load anyway - CPU is there to be used, after all.

If it is constantly running at 24% CPU after starting before doing anything other than showing the main window, something has probably gone wrong. I would suggest removing it and the .net framework, then re-installing both, but suspect that you may prefer to stop at step 1.

Alex

Album Art Downloader XUI

Reply #282
If it is constantly running at 24% CPU after starting before doing anything other than showing the main window, something has probably gone wrong.
Not sure if this is a request for more information, anyway...

I also have a similar problem with AAD XUI.

I use it almost exclusively through foo_run (searching one album for each request - all sources selected except Local files and Trivialbeing) and usually after 2 or 3 searches it hogs my CPU at 100% and I have to stop it.

AAD is still responsive (for example, it works if I run another search) but I obviously can't do much with my PC in these conditions.

Note that the high load is there also when AAD isn't (apparently?) searching; I also just tried to open AAD (currently using v0.15.0.0) from Win Explorer and it's using from 30 to 40% of the CPU (as reported by Win Task Manager).

I didn't bother to mention it before because I thought (and I still think) my setup (Celeron 2.4 with 512MB of RAM) isn't exactly the ideal configuration for the .Net framework; nevertheless, maybe something can be done on your side to at least ease, if not solve, the issue.

Regards and thanks for your time.

Alessandro

Album Art Downloader XUI

Reply #283
I notice this problem, too and it's quite troubling (it might be the fault of WPF) that you said you have checked everything on your side. Here's an image showing AAD XUI 0.16.0.0 when it's just started with no query.

Album Art Downloader XUI

Reply #284
I use it almost exclusively through foo_run (searching one album for each request - all sources selected except Local files and Trivialbeing) and usually after 2 or 3 searches it hogs my CPU at 100% and I have to stop it.

Now that's interesting - are you saying each time you exit Album Art Downloader and start a new instance of it, it uses more CPU? Very curious... Other than the very first time it is run and compiles the scripts, there shouldn't be any difference whether it has been run before or not.

I don't suppose any of you experiencing this problem have a development environment (Visual Studio 2008) available by any chance?

Some things to try:

1) Make sure AAD is not running. Probably best to restart windows, if some strange memory effect between runs is happening, so it is completely clear. Then, run AAD with the "/separateInstance" command arg, and see if it exhibits the same behaviour, and same memory effect between runs.

2) Enable tracing using this config file: AlbumArt.exe.config - put it in your AAD program folder next to AlbumArt.exe. Without doing any searches, leave AAD running for a bit, then close it, and have a look to see if there is anything in the trace log (which will be called tracelog.txt), or send it to me to look at.

I'm still not convinced there will be anything that can be done about this, though. Thuan, could you let me know what CPU and memory you have? It would be useful to know if this is a problem for anyone on a reasonably high spec machine, say Core2 with 1Gb of RAM or upwards.

Alex

Album Art Downloader XUI

Reply #285
are you saying each time you exit Album Art Downloader and start a new instance of it, it uses more CPU?
Not exactly, sorry for not being clear. Actually after the first search I do NOT close AAD, I simply go back to foobar2000 and launch another search (which displays its results in the already running AAD instance).
Quote
I don't suppose any of you experiencing this problem have a development environment (Visual Studio 2008) available by any chance?
Nope, sorry, but I'm willing to try if you think it may help (provided you give me some guidance and my PC has enough power for that).
Quote
run AAD with the "/separateInstance" command arg, and see if it exhibits the same behaviour, and same memory effect between runs.
1) first run: AAD CPU between 19 and 27
2) run 2nd instance with same command arg without closing the first: both tasks between 27 and 33
3) closed 2nd instance: first instance back to initial values
4) closed first instance and run one more time: no difference
Quote
2) Enable tracing using this config file
It only contains the following line:

AlbumArt.exe Information: 0 : Successfully read application version from settings: 0.15.0.0

Even after a reboot I'm unable to reproduce the high load reported in my previous post: now running AAD without doing any search only consumes 20 - 30% of my CPU.

One more clue perhaps; if I minimize AAD its CPU usage goes down to 5 - 8%.

HTH.

Alessandro

Album Art Downloader XUI

Reply #286
Then I guess this computer is suffice, it's a Core 2 4300 1.8GHz, 3GB of RAM, ATI HD2400XT, running Vista SP1 and everything is up to date. I have never noticed this before as I haven't actually taken a look at those monitor software when using AAD and my computer is fast enough to feel nothing. Usability wise I don't really care, but it should indeed be checked IMHO. BTW IIRC, when I reported the freeze problems before, there's no CPU usage with ghost instances.
I don't code on VS so of course I don't have it. I wonder if there's a VS2008 express as of now and if it is sufficient to work on AAD. If so I can install it.

EDIT: atiumdag.dll is ATI directx universal driver (this makes me think it's a redrawn issue). Also this program also load DXVA dll of my graphic card and some other DirectX dlls that normal Windows program doesn't load. Is this because it's a WPF program? I don't know much about .NET desktop application.

Album Art Downloader XUI

Reply #287
AlbumArt.exe Information: 0 : Successfully read application version from settings: 0.15.0.0

Hmm... can you confirm you are running version 0.15, not 0.16 then?

The fact that nothing else appears in the log suggests that AAD itself is not doing anything unexpected, which unfortunately doesn't give me a target to fix.

The /separateInstance test indicates that the problem is not with the cross-process communication pipe, but as I'd misunderstood mobyduck's report this was much less likely anyway.

What is interesting is the minimising thing. That would strongly suggest that the CPU usage is coming from WPF rendering.

Thuan's system specs indicate that this is nothing to do with CPU or memory limitations, but do point to this being a WPF rendering issue.

WPF does use hardware acceleration for rendering itself, falling back on software rendering where necessary, which would explain why it is loading the DirectX dlls thuan mentioned.

I think there is no need to look at it in Visual Studio now, as I'm confident we've narrowed down the problem to the WPF rendering. My idea would have been to run under the debugger, then see if any code was actually running while the CPU usage was up, but I'm pretty sure there won't be, as the CPU usage will just be from the WPF rendering. You are, of course, welcome to try anyway, the source can be downloaded from the "XUI" subfolder of the SVN tree.

Thanks for the information,

Alex

Album Art Downloader XUI

Reply #288
The fact that nothing else appears in the log suggests that AAD itself is not doing anything unexpected, which unfortunately doesn't give me a target to fix.

The point however remains:

- most developers take care of their customers by NOT-IMPLEMENTING MS latest software releases until they are relatively bug free with fixes available. Large pull of foobar2000 fans would be just as happy with AAD based on .Net 2.0 or 3.0, if it doesn't cripple their low end PCs;

- When searching local files with AAD File Browser using ID3 Tags, a "Work in Background" OR "Limit CPU Usage" option in AAD Prefs would prevent a low end PC from being fried or hanged on searching large music archives, and feels like a mandatory option to avoid client liability. So far AAD doesn't even have a proper warning in Readme about this gream reality.

Album Art Downloader XUI

Reply #289

OK, a few points to answer here.
  • I have no customers. I have users, who became users of the software as offered, in all its .NET 3.5 WPF glory. This is not a nasty surprise I have sprung on them.

  • I'm not really that concerned about what other different software people might want, whether that is a low-resource CPU optimised .net 2.0 (or C++, or assembler) album art utility, or a foobar plugin for downloading art, or a even music management and library application.

    What I wanted to write was a C#, WPF, rich, dynamic UI, album art downloading software that would be backwards compatible with the old CoverDownloader scripts and command line. This, I have achieved, and am pleased with the result. Pretty much the primary goal of the whole exercise was to be written in WPF, as I liked the look of it as a new technology, and wanted to try it out on a real project.

  • CPU is there to be used. Separate to the potential issue of CPU usage when it isn't doing any useful work, when it *is* doing useful, foreground work (i.e., scanning the file system for ID3 tags), using as much CPU as is available to make the task complete as quickly as possible is entirely correct behaviour. It does not hang, and a cancel button is available and responsive at all times during the operation. It is not a 'grim reality', and no warning about using the CPU while performing a task is required.

    A PC that cannot cope with high CPU loads without being 'fried' is faulty, and should be repaired or replaced.

  • 'client liability'. This, like every other piece of software I've come across, including those you pay for, is provided "as is", entirely free of any warranty of any kind, express or implied, and no liability of any sort is assumed. Check sections 11 and 12 of the GPL(v2) under which this software is licensed.

Alex

Album Art Downloader XUI

Reply #290
I'm not really that concerned about what other different software people might want.

It's not about new features users may suggest - and normally developers say "Thank you" for those. It's about safety of using your program. Basically you say - use it on a high end PC if you want, or don't use at all. AAD will control user's PC experience, and not the other way around. Stop AAD, when you feel your PC is about to fry when you hear extreme fan noize.

Would it be more reasonable to allow USER to choose still run AAD but at slower pace by adding such option in Prefs?

There is nothing personal here. As I said, I like your program. All foobar plugins & extras are some kind of creativity & experience gain & Resume improvement exersize. But most developers are smart enough to still care about those who are supposed to use their fruit. Otherwise - the outcome may be just opposite.

Album Art Downloader XUI

Reply #291
Stop AAD, when you feel your PC is about to fry when you hear extreme fan noize.

It is your reponsibility to provide your computer with adequate cooling system. You will run into trouble sooner or later anyway if you keep your computer that way.

Would it be more reasonable to allow USER to choose still run AAD but at slower pace by adding such option in Prefs?

Yeah, he might do it, or he might not. If he won't then stop pestering him. But to be honest, if your computer satisfy point above then is this really important.

Album Art Downloader XUI

Reply #292

Oh, I'm happy for feature suggestions, bug reports, and other comments, and am grateful for those received. Many feature suggestions that have been made in this thread have been implemented, and all bug reports have been addressed. Where something is not a feature suggestion, but is instead a suggestion for an entirely different piece of software, I have said so.

For the final time, and I won't bother saying it again: using high CPU load to performing a task quickly is not unsafe, or even undesirable. If your PC has extreme fan noise or overheating problems at high CPU loads, then you need to fix your PC.

No software that I am aware of, except some of those designed to run continuously in the background, offers the user the option to have it perform slowly, and I see no reason that this software should be different.

I never said that you have to use AAD on a high end PC, or not at all. Obviously, if you do, it will run better, though. I'm not sure what the minimum specs for running it are. If anyone wants to list here (or PM me) the lowest specced machine they've run it on and, whether they consider it to be usable on it, I'll collate the results and put a minimum recommended spec to the first post and wiki page. CPU, Memory and Graphics Card will be the biggest factors, so if you are going to send me a spec, please include those details.

Alex

 

Album Art Downloader XUI

Reply #293
i'm running a 2.17ghz amd athlon with 512MB of ram and the program is almost completely unusable. it opens up at about 30MB of memory and escalates from there until it gets into 400+MB 10 seconds later. interface is almost completely unresponsive, usually i click something and sit there hoping my mouse click went through. i know my computer is pretty outdated, but is the program supposed to be using this much memory? if so, i'd say a minimum at 1gb of memory is pretty safe to put on your site.

Album Art Downloader XUI

Reply #294
It is your reponsibility to provide your computer with adequate cooling system.

This is NOT a really old Win98 PC, like many foobar2000 users still enjou playing music on. If it were a self-assembled box modded by a clueless teen, I wouldn't even mention this problem.

I am running AAD on a stock non-modified huge production volume Medion PC: P4 2.66 Mgz, NVIDIA Ti4, 512 Mb, Win XP SP2. It's somewhat outdated, but hopefully correctly balance-engineered and still adequate for most home user's tasks except for some HD Video Playback & Editing. It's definitely adequate for Audio Playback, and should be sufficient for related MINOR service tasks like an Album Cover search. Such service programs should be correctly designed to not interfere with the prime task of Music Playback enjoument or become a safety or property loss hazard. In fact, same System Requirements or User adjustment options are expected to harmonize it with foobar2000 and other players.

And to be fully objective, some AAD behaviour may be a result of MS .Net code bugs, but other - resulting from limited developer knowledge of new .Net functions. Communication with MS developer teams - and there are many ways for that, including MS programmers' blogs - can help more in alleviating the issues found in beta testing like this then simply flat denials to improve the program.

Album Art Downloader XUI

Reply #295
P4 2.66 Mgz, NVIDIA Ti4, 512 Mb, Win XP SP2
Thanks, arnymars - would you like me to note those down as 'barely usable' or 'unusable'?

2.17ghz amd athlon with 512MB of ram and the program is almost completely unusable.
Thanks, Mondo - could you tell your graphics card too, if you know it?

is the program supposed to be using this much memory?
Memory usage is very hard to measure properly for .net apps, as the framework will tend to only release it when something else needs it. As a very rough guide, my figures are that AAD, with all bundled scripts present, should use up to about 40Mb at startup, and be stable at that figure until a search is performed. Each additional open (empty) search or browse window adds about 2Mb.

After searching, it will use an additional 1Mb or so for each displayed thumbnail, plus a small amount for each result not within view. As a thumbnail is scrolled out of view, the memory used by it is reclaimed, so although memory usage will spike while scrolling, it should settle back down once only the a few thumbnails are visible again.

For each full size image downloaded (of which there may be several if the "download full size images automatically", add on around 10-20Mb, depending on the size of the image. This is reclaimed when the search window is closed, or the results discarded by a new search being performed in that window.

With that in mind, your opening figure of 30Mb is entirely within expectation (better than I see here, in fact). 400Mb is higher than I would expect, but I suppose is possible depending on the number of open search windows, number of thumbnails displayed, and number of full size images downloaded.

If you have only 512Mb of memory, I would recommend deselecting all but your favourite one or two sources, and set those to return only 3 or 4 results each, and turning off any automatic downloading of full size images. Your memory usage should then be far more manageable, and if you don't find a good art result for a search with those settings, you can always select additional sources for that particular search, and just click Search again to search those too.

For anyone who finds their system is not up to the task of running the Album Art Downloader XUI ui (or who finds that the UI is too bloated and takes up too much of their resources, if you prefer), then you might like to consider using the command line interface, aad.exe. You won't be able to pick a cover from a list of thumbnail previews, or scan media files for missing artwork, but it will perform the basic service task of finding and fetching a cover without using much CPU or memory. It is best suited to being called as an external tool by another program, like foobar's foo_run.

Alex

Album Art Downloader XUI

Reply #296
FWIW, the program uses a fair amount of CPU here (~20%) when open, but idle.  However, when minimized, the CPU usage all but disappears.

Memory usage is more than what I would think (~23K), but no big deal on a modern computer.

This is not the type of program to leave running, so I honestly don't see the problem.  Just close it when you're done. 

Album Art Downloader XUI

Reply #297
@Alex: I'm thinking that is it possible to deactivate refresh on certain UI control in WPF?

@arnymars: Likely you have a Prescott CPU, I have seen ppl try to use it to cook omelet so it's not surprising (a better choice at the time you bought your computer is one with Athlon XP or better Athlon 64 single core which beat this CPU hand down). Both the intel fan and heatsink come with this CPU iteration and a lot of brand name computers do not have sufficient cooling systems for it (CPU automatic throttles down and extreme fan noise). You're better off with an after market heatsink and fan if it's possible to install them (certain brand name computer makes it impossible to do this). This is why I always self-assemble my box as I have a freedom to choose good components that last me long with a stable computer. In any case, if you have enough knowledge on computer parts and building your own computer is possible (not in the case building thousand of computers for your office which is impossible to assemble on your own), a self-assembled box is infinitely better than any brand name box whether the invidual is a teen or not IMHO. As far as serious .NET application out there, most of them you will need to have 1GB or above to run them adequately.

EDIT: arnymars, forgot to tell you this, likely this is the last time we should talk about it. No need to beat a dead horse to dead anymore.

Album Art Downloader XUI

Reply #298
this is the last time we should talk about it. No need to beat a dead horse to dead anymore.

My dear, if you believe Forum Rules were violated, you are free to ask the thread moderator to take action. Otherwise, pls don't tell others what to do. Some people may consider just opposite - continuosly alert users about possible damage to their PCs from using this soft. Whether you consider this program adequate or not to fit mass market PCs, and in harmony with foobar2000 in system resources use - you are free and welcome to express your opinion. Beyond that - usually people give advice when they are asked to.

Album Art Downloader XUI

Reply #299
Possible fix for CPU usage while idle: AlbumArtDownloaderXUI-test_cpu_fix.zip.

Could someone who's experiencing CPU usage while idle please try extracting the contents of the above zip over their AAD program folder and letting me know if it has made any difference? My profiling tools say that it theoretically ought to.

Thanks,

Alex