You Know You Need A New Computer

  • Thread starter dduardo
  • Start date
  • Tags
    Computer
In summary: This wasted time is multiplied by the number of cores in the system.The majority of the codecs in lavc will fit into the L2 cache nicely. There is no significant improvement to be had by using multithreading over single-threading. !Warning!In summary, the video is too big to play on your computer and you need to update to the latest mplayer and ffmpeg to view it.
  • #1
dduardo
Staff Emeritus
1,905
3
You know you need a new computer when you get the following message:

************************************************
**** Your system is too SLOW to play this! ****
************************************************

For those curious, I was trying to play the 1080p trailer of "A Scanner Darkly."

You can find the video here:

http://movies.apple.com/movies/warner_independent/a_scanner_darkly/a_scanner_darkly-tlr2_h1080p.mov

!Warning!

This video is 156MB and you must have the proper decoder.

Linux users wanting to view the video must update to the lastest mplayer and ffmpeg and compile it with h264 support.
 
Last edited:
Computer science news on Phys.org
  • #2
I tried to play it in my browser but it was too big :(

I'm going to download it and try to run it though Quicktime.
 
  • #3
mplayer does this to me often. It's very un-optimized and uses ridiculous amounts of cpu time.

- Warren
 
  • #4
chroot said:
mplayer does this to me often. It's very un-optimized and uses ridiculous amounts of cpu time.

- Warren

Maybe you could try the linux version vlc media player. Personally I perfer mplayer though.

http://www.videolan.org/vlc/
 
  • #5
chroot said:
mplayer does this to me often. It's very un-optimized and uses ridiculous amounts of cpu time.

- Warren

Completely untrue. MPlayer is without a doubt the most optimized media player available (speaking from an OSS-perspective). One of the reasons MPlayer lacks multithreaded decoding is because MPlayer is heavily dependent on the CPU cache, which should tell you how optimized it is. Each time the threads switch context, the cache resets, and thus, the cache has to be filled again, wasting time.

As for MPlayer wasting ridiculous amounts of CPU time, can you be a bit more specific?
 
  • #6
dduardo said:
Linux users wanting to view the video must update to the lastest mplayer and ffmpeg and compile it with h264 support.

Keep in mind that the 'latest' MPlayer is not 1.0pre7try2 which is what most distributions/operating systems include in their ports or binary package repositories. x264/lavc h.264 support has improved quite a bit since the release of 1.0pre7try2, including numerous optimizations for x86/PPC.

We advise any user to use CVS sources over such snapshots, as 1.0pre7try2 is almost a year old, now. MPlayer is just not for Linux, either. :-)
 
  • #7
I am using the CVS version. The last time I updated was the middle of this month. (04/14/06)
 
  • #8
graphic7 said:
One of the reasons MPlayer lacks multithreaded decoding is because MPlayer is heavily dependent on the CPU cache, which should tell you how optimized it is. Each time the threads switch context, the cache resets, and thus, the cache has to be filled again, wasting time.

Does that offer any significant improvement over multithreading? A typical L1 cache has 16 KB for data and 16 KB for instructions. Even without multithreading just the execution of a single thread will require constantly bringing data & instructions into the L1 cache, and since the OS will constantly switch the process out anyway i don't see the point. From an OS perspective the more threads a process has, the more processor time it will have. If you have only a single thread your process will waste a lot of time just waiting around because the OS only allows each process to use the processor for very small periods of time (there's always other threads wanting to use the processor) meanwhile it has to wait until it is granted processor time, and if the process happens to be paged out, then forget about it. A single thread process will probably spend a much larger amount of time waiting to use the processor than if it used multiple threads. Doesn't sound like the best strategy.
 
Last edited:
  • #9
-Job- said:
Does that offer any significant improvement over multithreading? A typical L1 cache has 16 KB for data and 16 KB for instructions. Even without multithreading just the execution of a single thread will require constantly bringing data & instructions into the L1 cache, and since the OS will constantly switch the process out anyway i don't see the point. From an OS perspective the more threads a process has, the more processor time it will have. If you have only a single thread your process will waste a lot of time just waiting around because the OS only allows each process to use the processor for very small periods of time (there's always other threads wanting to use the processor) meanwhile it has to wait until it is granted processor time, and if the process happens to be paged out, then forget about it. A single thread process will probably spend a much larger amount of time waiting to use the processor than if it used multiple threads. Doesn't sound like the best strategy.

Simply put -- no, because the majority of the codecs in lavc will fit into the L2 cache nicely. As I said, everytime your mulitprocessor system switches threads (at least on x86), the cache is being flushed, and filled again when the context is switched.
 
  • #10
Yes, but the OS will switch the process out anyway, it's not like it will stay in the processor for a longer time than if it used multiple threads. Multiple threads at least would offer the advantage of more efficient processor usage and less waiting around.
 
  • #11
-Job- said:
Yes, but the OS will switch the process out anyway, it's not like it will stay in the processor for a longer time than if it used multiple threads. Multiple threads at least would offer the advantage of more efficient processor usage and less waiting around.

No, it'll be the same situation, except the OS will be clearing out the cache for any processor that's scheduled to run a process during the run-time life of MPlayer.

MPlayer is also perfectly capable of issuing cache controller commands to control what's in the cache and what stays in the cache.
 
Last edited:
  • #12
Here's what I'm thinking. Suppose 4 processes and MPlayer, with the same priority want to use the processor and that the OS uses a round-robin approach to scheduling. Each process is allocated t miliseconds of processor usage at a time.
So for every 5*t miliseconds MPlayer gets t miliseconds of processor time, 20%. If Mplayer uses 6 threads, then there will be 10 processes waiting for processor time. So for every 10*t miliseconds Mplayer gets 6*t miliseconds of processor time, 60%. Of course now there will be more context switches than before, but all Mplayer's threads have the same address space, same instructions and similar data, so likely this data would be around in an L2 cache and, in the worst case, in main memory, so a context switch would consist of transporting about 32K of data/instructions from an L2 cache to the L1 cache, which should be extremely fast. It seems the advantages of using multiple threads outweighs the added context switches.
 

1. What are the signs that indicate I need a new computer?

Some common signs that indicate you need a new computer include slow performance, frequent crashes or freezes, outdated hardware or software, and difficulty running multiple programs or tasks at once.

2. How often should I replace my computer?

The lifespan of a computer can vary depending on usage and maintenance, but on average, it is recommended to replace your computer every 3-5 years. However, if you are experiencing significant problems or your computer is no longer meeting your needs, it may be time to upgrade sooner.

3. What should I consider when purchasing a new computer?

Some important factors to consider when purchasing a new computer include your budget, the purpose of the computer (e.g. gaming, work, general use), the specifications (processor, RAM, storage), and the brand and customer reviews.

4. Can I upgrade my current computer instead of buying a new one?

In some cases, it may be possible to upgrade certain components of your current computer, such as the RAM or hard drive, to improve performance. However, if your computer is significantly outdated or has major hardware issues, it may be more cost-effective to purchase a new one.

5. How can I transfer my files and programs to a new computer?

There are a few ways to transfer your files and programs to a new computer, such as using an external hard drive, cloud storage, or a transfer cable. You may also need to reinstall some programs on the new computer. It is important to back up all important files before transferring them.

Similar threads

  • DIY Projects
Replies
23
Views
4K
  • Computing and Technology
Replies
18
Views
6K
  • MATLAB, Maple, Mathematica, LaTeX
Replies
17
Views
2K
  • Computing and Technology
Replies
22
Views
6K
  • MATLAB, Maple, Mathematica, LaTeX
Replies
12
Views
1K
  • Computing and Technology
Replies
24
Views
5K
  • STEM Academic Advising
Replies
4
Views
2K
  • Programming and Computer Science
Replies
19
Views
3K
  • STEM Academic Advising
Replies
1
Views
1K
Back
Top