PDA

View Full Version : System Benchmarking


MrWizard
9th March 2006, 07:43
I was not sure where to put this thread but, as it relates to decoding AVC content, I'm putting it here.

I have a 1080p 24 fps with a bitrate of 6.2 Mbps. Add onto that AC3, so just shy of 6.6 Mbps. I was able to play this using the CoreAVC alpha decoder (0.0.0.4) on my laptop, a Dell D810 - consumes between 85-95% CPU. The basic specs are Pentium M 2.0 GHz, 533 MHz FSB, 1 GB DDR2 533 MHz RAM. However, I am unable to play the same file (same version of Matroska Splitter+MPC+CoreAVC) on my desktop. The specs of that machine are Pentium 4 3.0 GHz, 800 MHz FSB, 2.0 GB DDR2 533 MHz RAM. It maxes out the CPU. I do have HT capability with this processor but, as the CoreAVC alpha decoder is single threaded, I disabled HT for now. I am hoping that the new release on the 15th will be multithreaded so I can reenable this... In any case, I digress.

I have two questions. The first is, what do you think might be the cause of this? The second question is, does anyone know of a benchmarking or other utility that would help me pinpoint the "weak link" in my desktop system?

I would REALLY appreciate any help you can give me! Thanks.

bkman
9th March 2006, 07:58
At a guess I'd say that your laptop is using a Pentium-M Dothan, which is a seriously awesome architecture of processor. Much better than the Prescott in your desktop machine.

So I think that CoreAVC simply performs better on your laptop than your desktop despite the clock difference.

The other possibility is that something on your desktop machin is slowing down the decoding process, like your output mode. Try using overlay output.

imcold
9th March 2006, 08:00
Pentium M and Pentium 4 have different architectures, Pentium M gives more performance at lower clock than P4, just like AMD cpus.

foxyshadis
9th March 2006, 08:08
For a quick and simple benchmark I use CrystalMark (http://crystalmark.info/?lang=en) (mostly because I use CrystalCPUID for amd clock management). Just used it last night to figure out that my new laptop is 3x as awesome as my old in all respects and even more in 3d. =D

MrWizard
9th March 2006, 08:13
Hmm very good information. Disappointing, but good information. I tried overlay mode and that didn't help. I was wondering (perhaps this is a question for the CoreAVC folks) if there were some optimizations in the CoreAVC code that my laptop took advantage of but my desktop didn't. And, if that were the case, if the desktop had any optimizations that might be supported in the future (such as the official release about to go public). I honestly know very little about the architectures, so I am grasping at straws.

I've been considering purchasing a new machine but I don't think I have the cash right now to pull it off. Might there be a minor-to-moderate upgrade I could do that would improve my playback performance? A new video card, perhaps? I have a rather low-end video card (Radeon X300) and was wondering if an upgrade would help...

Thanks again for the tips :)

Edit: Thanks for the CrystalMark link, foxyshadis!

MrWizard
9th March 2006, 08:46
The CrystalMark results for my PC:
Mark=60000
ALU=6805
FPU=7200
MEM=7257
HDD=8966
GDI=7294
D2D=2496
OGL=19981
And the results from my laptop:
Mark=63860
ALU=7482
FPU=9327
MEM=4762
HDD=3632
GDI=11964
D2D=4542
OGL=22051
Things look bleak :p

Edit: Perhaps not as bad as I originally though... here are the stats with HT enabled:
Mark=61864
ALU=9825
FPU=10368
MEM=7049
HDD=7830
GDI=7235
D2D=2497
OGL=17060
Some of the marks went down - but the CPU marks shot up quite a bit. So, perhaps, if a multithreaded CoreAVC decoder is released, my PC will be able to (barely) keep up. Do you think?

foxyshadis
9th March 2006, 09:38
It'll probably gain something,. Once it gets gpu decoding (last report was "maybe but not looking good for 1.0") you might get a nice boost - x600 should be able to give something.

If you're running in any of the windowed or renderless modes, try overlay, since a lot of work gets offloaded to the card in that mode. And the old gaming performance standbys: Kill processes, antivirus, and services, and hope for big improvements in the next release.

Manao
9th March 2006, 10:05
CoreAVC isn't multithreaded, so it can't take advantage of HT. However, since there's also audio decoding, and all the other working threads used by DirectShow, perhaps HT *might* help. Without having much experience in using P4 HT, I don't know ( but I seriously tend to be doubtfull ).

MrWizard
9th March 2006, 10:20
Yeah. The problem is that if the AVC decoding would take, say, 60% of the CPU time, and then audio and the rest takes a good chunk at 20%, I'm still out of luck. Because with HT, a single thread won't be able to take up more than 50% of the CPU time. I guess I'll just have to hope that they make CoreAVC multithreaded at some point... Or get a new machine lol

Dyolfknip
9th March 2006, 21:43
I was just wondering how much CPU power it takes to decode h.264 HD content?

I ran CrystalMark on my computer (AMD X2 & 1Gb DDR mem) and I got following test scores:
Mark=111834
ALU=18343
FPU=18581
MEM=13795
HDD=7350
GDI=17063
D2D=8664
OGL=28038

Will my current computer be able to play smoothly h.264 HD material?

This is slightly off topic but I am getting a new computer to work with and I'd like to know wich is faster (when encoding video with x264) two AMD 285 Opterons or two Intel DualCore equilevants? I did not find good tests on the internet.

MrWizard
9th March 2006, 21:50
You should have no problem decoding H.264 HD content with that setup. Compare your results with mine; I am just barely unable to decode in real-time. So you should have no problems at all.

akupenguin
9th March 2006, 22:21
Because with HT, a single thread won't be able to take up more than 50% of the CPU time. I guess I'll just have to hope that they make CoreAVC multithreaded at some point... Or get a new machine lol
That's not how HT works. "50%" is just your CPU lying to your task manager, pretending to be 2 cores. HT defines "50%" as the load of 1 cpu-bound thread and "100%" as the load of 2 cpu-bound threads, but that doesn't mean 2 threads is 2x as fast as 1, nor does it mean that 1 thread is any slower than without HT.

This is slightly off topic but I am getting a new computer to work with and I'd like to know wich is faster (when encoding video with x264) two AMD 285 Opterons or two Intel DualCore equilevants? x264 prefers 2xOpteron over 2xXeon. I haven't tested the more recent Intel dual-cores.

MrWizard
9th March 2006, 22:46
That's not how HT works. "50%" is just your CPU lying to your task manager, pretending to be 2 cores. HT defines "50%" as the load of 1 cpu-bound thread and "100%" as the load of 2 cpu-bound threads, but that doesn't mean 2 threads is 2x as fast as 1, nor does it mean that 1 thread is any slower than without HT.
Okay, I could be wrong. But, since your CPU is telling Windows process management that is has two cores, a single thread would not be able to run simultaneously on both cores, yes? I just know that when I try to run CoreAVC with HT enabled, my task manager show CPU utilization maxed out at 50% (100% for one "CPU" and 0% for the other) and the decoding can't even get close to keeping up. It was my understanding that a single thread cannot run on more than one processor (which is, essentially, how Windows treats the dual-core architecture of HT processors, no?). Am I wrong in my understanding?

I guess I'm a little confused :)

Sharktooth
9th March 2006, 23:03
HT is not dual core... and doesnt behave like a dual core.
HT = intel's bullshit and most applications wont benefit from that "trick", also it can slow down things if enabled...

akupenguin
9th March 2006, 23:04
1 virtual core running 1 thread, other virtual core idle because there's nothing to do
is no faster or slower than
1 virtual core running 1 thread, other virtual core idle because the BIOS locked it
and yet one of them says "50% cpu" and the other says "100% cpu". Percentages are meaningless here. Plus, in the realm of threads, using up more cpu-time doesn't necessarily make programs faster.

MrWizard
9th March 2006, 23:10
@Sharktooth - Yes I know that HT is not dual core. It was just my impression that Windows treated it like it was...

@akupenguin - How was my benchmark so signficantly improved when I enabled HT, if it really wouldn't make a difference? In fact, from your explanation, it sounds like the marks should be lower, not higher, with HT enabled... now I'm more confused lol :) Thanks for taking the time to try to explain it to me though.

akupenguin
9th March 2006, 23:12
Consider: You have 1 computer, happily encoding. You buy another computer. Suddenly you're using only half of the cpu-time in the house. Oh no, x264 just got 50% slower! or not...
(Ok, so that analogy would be dual-core, not HT. But it still might unconfuse you.)

Sharktooth
9th March 2006, 23:23
well... HT is a trick to keep the p4 working when there are problems that could "lock" the pipeline until it gets emptied.
Yes they could have done it better... but the whole p4 netburst architecture is a complete failure.

MrWizard
9th March 2006, 23:31
Okie dokie... I do understand that basically my machine is crap :D And thanks for the clarification regarding HT.

I'm just wondering what I can do to get the best performance possible out of it. Since I got better APU/FPU scores with HT enabled, I assumed that a multithreaded application would perform better with HT on rather than off.

Sharktooth
9th March 2006, 23:39
Okie dokie... I do understand that basically my machine is crap :D And thanks for the clarification regarding HT.

I'm just wondering what I can do to get the best performance possible out of it. Since I got better APU/FPU scores with HT enabled, I assumed that a multithreaded application would perform better with HT on rather than off.
not always.
let's say HT helps "unoptimized" apps to run faster.

MrWizard
9th March 2006, 23:50
Okay good to know. I suppose I'll be getting a better machine sometime, when I can afford it. I appreciate all the help!

MrWizard
10th March 2006, 07:14
Just to clarify, this is what I am seeing in my taskbar:

http://img489.imageshack.us/img489/3497/screenshot7sq.png

bkman
10th March 2006, 07:58
I'm just wondering what I can do to get the best performance possible out of it. Since I got better APU/FPU scores with HT enabled, I assumed that a multithreaded application would perform better with HT on rather than off.

HT will probably help most multithreaded apps to some degree, with some more than others. It really depends on the kind of code that is running on the main thread, and if there are a lot of pipeline stalls or not. I wouldn't worry about the percentage usage reports for the second "core" though. Windows treats it as a second core, but it is just a virtual core so the usage stats will be just approximations.

MrWizard
10th March 2006, 08:06
Roger that. Thank you very much.