INTERACT FORUM

Please login or register.

Login with username, password and session length
Advanced search  
Pages: [1]   Go Down

Author Topic: Performance optimization, pretty please  (Read 2877 times)

ADDiCT

  • Regular Member
  • World Citizen
  • ***
  • Posts: 235
  • I'm a bad llama!
Performance optimization, pretty please
« on: May 17, 2007, 06:56:23 am »

I'm running MC12 on a P4/2Ghz with 512MB RAM (XP SP2, fully patched). This machine may not be the fastest one on earth, but i believe it should be completely sufficient for running a Media Player/Media Manager. On this machine, i'm using MC for database maintenance (changing tags, creating playlists, etc.), for playing audio (mostly MP3), and for synching my iPod. No video playback, no theater view, no visualizations etc.. I'm also using this machine for burning DVD, and it's running a VNC server so i can remote control it from other machines. The machine is up (nearly) 24/7.

After starting MC12, the application is quite responsive, and runs at a very good speed. But after some hours, MC starts to slow down drastically. I have no idea what the cause of this slowdown is, but i'd say that after an iPod synch, things start to get _really_ slow. The other applications on the system continue to run at normal speed, more or less (there's some heavy paging going on when switching apps). It seems MC starts to eat up massive amounts of memory after a while, and this causes it to become extremely slow. After a restart of MC, the app will run at normal speed again. When "going slow", MC will be extremely unresponsive. Even while simply playing MP3, it will hang for several minutes between tracks (!), showing "the application is not responding" in task manager. MC will eventually recover, and continue to play the tracks - but with a very noticeable pause between them.

Another performance related issue i've been seeing seems to be network related. I keep my library local, but all my media files on a file server (W2K3 Server, connected via 100Mbit). From time to time, MC will start to use up massive amounts of the available network bandwith, without any apparent reason. This happens, for example, while playing a track, so there's really no apparent reason for MC's heavy network usage.

I know these descriptions are not very precise from a technical point of view. Identifying the source of the problems will probably be very time-consuming, and complicated. Let me explain the point i'm trying to make. I've been using MC for three or four years now, and i noticed there's certain cycles in development. It seems that JRiver will implement functionality after functionality, up to a certain point. After that phase, there is a much shorter phase, where bugs will be fixed, and eventually some performance fixes will be implemented. In the past, some of the the performance fixes were quite impressive. Long time users will remember what happened after, for example, the switch to the new "database engine", when suddenly all playlist related operations would be much faster than in previous versions. This is proof that there are areas with a great potential for performance optimizations.

For a very long time now, a lot of new functionality has been implemented into MC12. I have the impression that performance related issues have had a _very_ low priority recently. I would go so far to say that MC is starting to get bloated, and from what i'm seeing in my day-to-day use, it's getting slower and slower with each new release, and each new feature. There are several posts on Interact complaining about different aspects of MC's performance, so i believe i'm not the only one seeing that kind of bad performance.

In my opinion, performance is a key factor for an application - especially for an app that's targetted towards home use. I mean, many users do not have the financial power to buy a high end system, just for playing media files. I see and understand why new features are implemented into MC, but i ask JRiver not to forget about performance on non-high-end systems. I'm not much of a coder, but i understand that new functionality will make an application more complex from the programming view. In my opinion, this effect could lead to a situation where it's nearly impossible to fix performance related issues, because they may be "hidden" under several layers of other code.

It would be very interesting to hear other opinions about this topic, both from JRvier and from other users. Are you seeing decreased performance recently? Am i the only one who's using MC on a rather "slow" system? Is it just me, or is MC really getting bloated with functions?
Logged

JimH

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 72444
  • Where did I put my teeth?
Re: Performance optimization, pretty please
« Reply #1 on: May 17, 2007, 07:03:20 am »

For a very long time now, a lot of new functionality has been implemented into MC12. I have the impression that performance related issues have had a _very_ low priority recently.
Your impression is incorrect.  We're well aware of the problem(s) and spending about half our time on it(them).

It isn't simple to find.   Logs can help a lot.

Logged

ADDiCT

  • Regular Member
  • World Citizen
  • ***
  • Posts: 235
  • I'm a bad llama!
Re: Performance optimization, pretty please
« Reply #2 on: May 17, 2007, 07:11:33 am »

Your impression is incorrect.

JimH: could you explain that statement a little? When looking at the changelog for recent versions, i fail to see a lot of performance related items.

Ah, and i forgot to mention that MC will be performing better after restarting it, most of the time.
Logged

Alex B

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 10121
  • The Cosmic Bird
Re: Performance optimization, pretty please
« Reply #3 on: May 17, 2007, 07:53:57 am »

I think Jim means that they become quickly aware of most new problems and half of their work time is spent debugging the problems and optimizing new features.

I don't think your problem is already "listed" and waiting for a bug fix. It can be a combination of several things.

Generally MC12's database handling should be faster than before. That has been mentioned several times. Otherwise MC12 should not be slower than MC11.

By logs Jim probably means the debug logging that you can find under the help menu. You could enable logging when the problem has occured and let it run a couple of minutes or so. After that you can post a part of the log here or the complete log directly to JRiver. Usually Matt has asked to post the logs to him (matt at jriver dot com).

Another performance related issue i've been seeing seems to be network related. I keep my library local, but all my media files on a file server (W2K3 Server, connected via 100Mbit). From time to time, MC will start to use up massive amounts of the available network bandwith, without any apparent reason. This happens, for example, while playing a track, so there's really no apparent reason for MC's heavy network usage.

This part of the problem could be related to the Auto-Importer. If you have enabled the "Update for external changes" and "Fix broken links" options MC12 tries to maintain your entire library and keep the database up-to-date by comparing it with the disk files.
Logged
The Cosmic Bird - a triple merger of galaxies: http://eso.org/public/news/eso0755

jolo

  • Regular Member
  • World Citizen
  • ***
  • Posts: 173
Re: Performance optimization, pretty please
« Reply #4 on: May 18, 2007, 02:38:26 am »

:D
I do NOT want this to be taken as any type of criticism of Jim's amazing work on MC.

 :D Who I REALLY want to see focus on Performance Optimization if Microsoft, but that's another story.  ::)

My thoughts as someone who has been a software developer for years is that many times the customer push for more features and immediate bug fixes;  pushes the time it takes to focus on Performance Optimization to the sidelines. The increased performance of PCs also has a great effect on this.

Usually enhanced functionality itself means more time needed to fix the "bugs" that go with additional features.

I also would very much like to see performance optimization of MC done. I believe that in order for J River to have the time to energy to do that would mean enhancements/new features and "minor bug fixes", would have to be put temporarily on hold, while the optimization is being worked on.

Sometimes, a focus on Performance Optimization can lead a developer to totally recode a front end, backend, or even the entire application itself.

I for one would be happy to see some enhancements delayed for a while, in favor of Performance Optimization, but it is really up to the voices of the customer community on this.

MC is a remarkable product and one of the very view where the developers communicate directly to the customer base. I think that is why it is so strong. 
Logged

rjm

  • Regular Member
  • Citizen of the Universe
  • *****
  • Posts: 2699
Re: Performance optimization, pretty please
« Reply #5 on: May 18, 2007, 04:08:01 am »

I continue to be very impressed and satisfied with the performance of MC, and I have a very large library.

In particilar, I am very pleased that MC has not slowed down as my library has grown.
Logged

Mr ChriZ

  • Citizen of the Universe
  • *****
  • Posts: 4375
  • :-D
Re: Performance optimization, pretty please
« Reply #6 on: May 18, 2007, 04:41:51 am »

I think you could see a fair performance gain by sticking
another 512MB of memory in your machine addict.

XP on it's own eats so much memory now a days,
that it doesn't leave much to play with.

I'd imagine if you look at your taskmanager you'll
find it page a lot of stuff to disk.

This is MS's problem as much as it is JRiver.

Saying that I'm currently running MC on lower spec system
than that with 512MB of memory, SQL Server, SQL Server Express,
Visual Studio, our in house .NET software which just eats memory for breakfast, while swapping between 3 VPN's running Remote Desktops...
Yeh it's slow! 
The company keep promising me a funky new laptop...  :(

rjm

  • Regular Member
  • Citizen of the Universe
  • *****
  • Posts: 2699
Re: Performance optimization, pretty please
« Reply #7 on: May 18, 2007, 04:54:32 am »

A complimentary solution to more memory is to get the utility "The Ultimate Troubleshooter" (TUT) and kill all unnecessary processes. TUT has a great database that explains what you can safely kill.
Logged

hit_ny

  • Citizen of the Universe
  • *****
  • Posts: 3310
  • nothing more to say...
Re: Performance optimization, pretty please
« Reply #8 on: May 18, 2007, 06:13:29 am »

I for one would be happy to see some enhancements delayed for a while, in favor of Performance Optimization, but it is really up to the voices of the customer community on this.
Fine balancing act required here. If you can say we will never touch this or that feature ever again then fine, you can optimize it to death.

Too much optimization and you cannot add features later, it makes for more work and less return. One of those necessary evils in an ever evolving product. More speed is always welcome, progress to date has been good, considering i run on a P3.
Logged
Pages: [1]   Go Up