Back Forum Reply New

System Benchmarking

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 quot;weak linkquot; in my desktop system?

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

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.

Pentium M and Pentium 4 have different architectures, Pentium M gives more performance at lower clock than P4, just like AMD cpus.

For a quick and simple benchmark I use CrystalMark (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

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!

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

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?

It'll probably gain something,. Once it gets gpu decoding (last report was quot;maybe but not looking good for 1.0quot;) 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.

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 ).

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

I was just wondering how much CPU power it takes to decode h.264 HD content?

I ran CrystalMark on my computer (AMD X2 amp; 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.

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.

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. quot;50%quot; is just your CPU lying to your task manager, pretending to be 2 cores. HT defines quot;50%quot; as the load of 1 cpu-bound thread and quot;100%quot; 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.


Originally Posted by akupenguinThat's not how HT works. quot;50%quot; is just your CPU lying to your task manager, pretending to be 2 cores. HT defines quot;50%quot; as the load of 1 cpu-bound thread and quot;100%quot; 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 quot;CPUquot; 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

HT is not dual core... and doesnt behave like a dual core.
HT = intel's bullshit and most applications wont benefit from that quot;trickquot;, also it can slow down things if enabled...

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 quot;50% cpuquot; and the other says quot;100% cpuquot;. Percentages are meaningless here. Plus, in the realm of threads, using up more cpu-time doesn't necessarily make programs faster.

@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.

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.)

well... HT is a trick to keep the p4 working when there are problems that could quot;lockquot; the pipeline until it gets emptied.
Yes they could have done it better... but the whole p4 netburst architecture is a complete failure.

Okie dokie...  I do understand that basically my machine is crap   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.


Originally Posted by MrWizardOkie dokie...  I do understand that basically my machine is crap   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 quot;unoptimizedquot; apps to run faster.
¥
Back Forum Reply New