I am looking for a comparison regarding the performance of 2 Graphic chipsets available with the Atom CPU. I am specially interested in the performance of decoding MPEG2 video livestreams (IPTV).
The Z530 / GMA500 (US15W) combination features a HW decoder which the N270 / 945GSE combination does not. So, is there no GPU support for decoding at all on the 945?
How would they rate in a comparison?
One would assume that the GMA500 is much more suited for this job. Is that correct?
Thanks for any hints.
There is no easy yes/no answer to this.
A platform that implements a FULL video decode pipeline will be able to do higher resolution video with lower CPU utilization. The key is to use h/w video decode acceleration that starts at the VLD (variable length decode) step rather than just the Motion Comp step where there is hardly any benefit (and sometimes takes more effort to set up than just finishing up with the CPU).
The Z5xx and E6xx products ARE rather better suited FOR LOW POWER APPLICATIONS to doing video decode because of the FULL decode pipeline. Trying to do software video decode with an Atom processor is harder to do than using a Core processor because the Atom is a low power design.
Between an N270/N470 Atom (without h/w decode) and a Z5xx or E6xx Atom (with included h/w decode) then yes the later IS better for video decode applications.
Hope this helps.
I now know that going for the Z5xx with GMA500 (US15W Poulsbo) is the right decision.
Hope that Z560 will be available from our board supplier soon. Z530 is at its limit.
I need to come back to this again.
I had the chance to compare a Z530/GMA500 ePC (XP and W7) with a N270/945GSE ePC (XP).
The embedded device with the GMA945 showed a really far better performance on a TVoIP stream in MPEG2-TS 720x576 format.
The GMA500 device showed a very choppy picture, and beware of touching any other function while showing the stream, an immediate freeze on the picture and update only every second is the result -> hardly usable.
The 945GSE device never showed any choppiness no matter what other function are called on the ePC.
To cut the long story short: Am I missing something? I mean the GMA500 has a HW decoder that claims to be able to decode multiple HD streams at once. What should that be good for if the basic graphic performance is not enough to even display a non-HD stream in a usable manner. Could my setup be so completely wrong or off the line that the GMA500 shows such a lousy performance?
I am very grateful for every input.
I would expect that behavior IF the decode is being handled entirely in softwsre. The N270 processor is a higher power CPU and is able to handle a larger amount of data directly than the Z5xx (which is a much lower power chip).
My guess is that your MPEG2 codec is NOT using DXVA so your playback application is using software decode. If you DO have a DXVA enabled MPEG2 codec (like you find from WinDVD and other player packages) then there could be a couple of other issues:
1 Player is having issues with stripping the content from the TS container format and getting it to the right codec.
2. THe player may know there is hardware accleration via DXVZ but is configured to NOT use it (some players default that way and you need to go to them for special "Atom" versions, or configurations).
Have you gotten the Vide white papers on EDC? http://www.intel.com/go/emgd http://www.intel.com/go/emgd" rel="nofollow">www.intel.com/go/emgd and look through the list of Technical Documents. Here is an example: http://edc.intel.com/Download.aspx?id=2578&returnurl=/Software/Downloads/EMGD/default.aspx http://edc.intel.com/Download.aspx?id=2578&returnurl=/Software/Downloads/EMGD/default.aspx" rel="nofollow">http://edc.intel.com/Download.aspx?id=2578&returnurl=/Software/Downloads/EMGD/default.aspx
Hope this helps.
CPU load: It is about the same on the Z530 as on the N270 during the playback: about 50\%. As far as I can judge CPU power seems not to be the issue.
I am currently checking with one of the Codec suppliers regarding the DXVA support. They claim to support all Intel chipsets. As to the other supplier - MS - I hardly get support. MS claims that their MPEG2 codec does support DXVA and DXVA2 http://msdn.microsoft.com/en-us/library/dd390679\%28VS.85\%29.aspx http://msdn.microsoft.com/en-us/library/dd390679\%28VS.85\%29.aspx" rel="nofollow">http://msdn.microsoft.com/en-us/library/dd390679\%28VS.85\%29.aspx .
With both Codecs, it's the same situation. So, either both do not really support DXVA2 which could be because the DXVAChecker does not give me clear results, or the issue is somewhat else.
I also tried VLC which uses an internal Codec instead of DirectShow. They officially do not yet support GPU acceleration for Intel chipsets. Funny thing is, DXVAChecker shows that it is using the DXVA2 MPEG2_VLD entry point when I activate GPU decoding in preferences. However, the CPU load stays about the same and the display is still very choppy as soon as I touch any other function/software.
I tried to get to the Cyberlink Codec for testing, only the Codec, I can not use the PowerDVD application. Unfortunately I could not get the version you are referring to from nowhere.
IEGD /EMGD does not support Windows 7. Therefore I have to use the latst GMA500 driver which as well should support all of the DXVA2 functions. DXVAChecker shows support for MPEG2_MoComp as well as MPEG2_VLD among others like H264, WMV9 and VC1.
I have read these papers loong time ago and they did not give me any new input, specially not regasrding current OS's like Windows7.
If you see 50\% CPU loading on the Z processor, you are DEFINITELY using software decode. It should be closer to 10-15\% during decode when the hardware decoder is being used instead of the processor.
Windows 7 is a bit different animal. They favor DXVA2 capability which requires WDDM support from the graphics driver and EMGD/IEGD are currently only XPDM (thus DXVA).
The WInDVD codec does support both DXVA and DXVA2 but tends to default to software decode on Atom platfroms for some stupid reason. As far as we have been told, the codec is the same between their generic version and the more Atom friendly versions that some Netbook manufacturers OEM from them.
We usually recommend that you just download the evaluation version of WinDVD and use the MPEG codec during the allowed eval period for you experimentations (then of course buy it if you will use it in your product).
Hope this helps.
I did some more testing. My conclusion: DxVA / GPU/HW decoding can not be used with OS Windows7 on GMA500.
- I downloaded and installed the latest PowerDVD 10 from Cyberlink. Playing a DVD with it is choppy. Information during playback in the PowerDVD pane clearly states that DxVA is used. DxVAchecker also shows that it is used with the VLD entry point. Whatever, CPU load is about 80\% (!) and the image is choppy -> unusable!
- I opened Monogram Graphstudio and rendered my MPEG2-TS. Because WMP does not support streaming natively I needed to add the elecard streaming plugin together with its MPEG2 decoder. This is what now is loaded by default. I can Test this filter graph and playback uses about 60 to 80\% CPU, though DxVA is activated in elecard Codec. DxVchecker does not show DxVA as used.
- I changed the filter graph to use the Cyberlink Codec PDVD10 (I also tried PDVD9). I checked properties to activate DxVA. The filter graph can play and shows an image. Again, CPU load is about 90\% (!). DxVAchecker does not show DxVA as active.
No matter what I do or try, CPU load is always higher than 50\%, more in the range of 60-80\% while decoding a DVD or a live SDTV stream.
If you or your engineers ever did reach 10\% CPU load during playback, I am really wondering how they could achieve that, with what software and what codecs activated. To be honest, I simply don't believe that it ever worked. If yes, you should at least be able to tell me their exact setup.
Actually, I would not care about having 50\% CPU load, if the movie could play smoothly even when starting or operating some other software. On the N270/945GSE this works a charm.
I am looking forward to hear from you.
The 10-15\% is acheived in Windows XP and Linux primarily. We have not done much work with video in Windows 7 however, it should be smilar to XP. I'm going to get my video experts involved in this discussion to see what they know beyond my knowledge.
So you need to be sure you are using PVR7 (not PVR9 or EVR) as we indicate in the white paper:
We would also recommend using PowerDVD Ver 8 for your testing, and once it is shown the hardware CAN do a good job, then work with the player vendor to provide an appropriate configuration.
We provide the raw capability and the infrastructure and middleware vendors need to do their part (and yes we are also trying to influence them in the background also).
Hope this helps.
Kirk, thank you for trying to help.
I already did read this white paper, many times.
As you said yourself: Windows7 is a different animal. The paper discusses IEGD on XP which uses DxVA. Facts: IEGD can not be used on W7, W7 has a different driver model, it has DxVA2 (DxVA1 emulated for compatibility AFAIK), normally uses the enhanced VMR ... . PowerDVD8 is an old software version which I even have to find to get first, though I need the MPEG2 codec of it only - or any other MPEG2 DirectShow Codec that supports DxVA2 on Windows7.
Frankly speaking, while having the target to use the HW acceleration/decoding on Windows7 this paper is not of much use because nothing in there really can be applied to the job I have to do.
I am still missing one confirmation: Did you or your video engineers ever got HW decoding and acceleration running on Windows 7?
Do you know of anybody who did get it running?
If yes, with what setup?
The examples with XP are nice, but XP is an old OS, even the embedded world is changing to WES7 nowadays.
To me, it currently looks as if the Poulsbo platform can not be used with a current OS for a project on which video has to be displayed. What a bummer, because I have spent a lot of time with this, trusting that a platform that features a HW accelerator should be perfect for this job.
Sorry, I should have realized that it is a new capability we released with EMGD for Z5xx and is not widely known yet:
The current release of EMGD (a faster driver than IEGD but for Z5xx and E6xx only) is POR on Windows 7 in XPDM mode. True you do not get Aero or DXVA2 but basically everything else works and tends to be faster than native WDDM drivers. The Whitepaper information is fully valid for EMGD and Win7. You might want to give it a try.
Very interesting news!
Just checked the Release notes, that list XPDM for Windows 7. Never looked into the release notes since all other sections of the EMGD page like Compatibility, Features and FAQ clearly do not state any basic compatibility on Windows 7.
It's 22.50 on my side of the planet .. I'll try tomorrow. I am also wondering how Flash performance is with EMGD driver without Aero because Adobe explicitly says to enable Aero for better Flash performance. We'll see ..
Thank a lot and have a nice day.
I'll be back with results (not meant as a threat :smileywink:).
Adobe flash and Atom is a different thing. Adobe has been uninterested in optimizing for Atom (utilizing hardware accelerateion where possible) although there is some work going on there. You need to make sure you are using the latest 10.x release for the best that is currently available.
I am having some more results. It seems that in the end I just can't get a configuration that satisfies me - maybe it's just me that can't do it.
With GMA500 Driver:
- Within Graph Studio I can render an IP-stream at best when setting the graph to use PDVD10 codec and EVR.
- Within DXVAchecker I can render an MPEG-TS file at best when setting to use PDVD10 and EVR.
In both cases DXVA2 seems to kick in and I get low CPU load of about 20\%.
When setting this up as default DS graph, WMP should play the same ... but it doesn't. I am only able to get a decent performance from within these 2 test utilities and only if no other application like our touch user interface is overlayed.
It really is faster. EVR, of course, does not work anymore but I get very good results with PDVD10 and VMR7. From Graph Studio I can even watch to an IP-TV stream while operating the touch user overlay. It also works from within DXVAchecker. Either way, DXVA seems to work and I get a decent performance. Sounds good.
However, WMP does only show black picture or ends up in a bluescreen (STOp 0x7F).
Maybe it's just me that is creating a mess .. or .. I don't know. I'm starting to get the feeling that I never get this to work and I am best off with switching to a more powerful Hardware.
It's kinda frustrating experience.
DXVA is the acceleration interface that utilizes the driver's ability to hardware accelerate with the GPU. If the codec does not have DXVA awareness, or the player somehow blocks access to the DXVA capability, then you will have the frustrating situation.
WMP may assume DXVA2 only capability for in Win7 and you might need something like Windows Media Player Classic to get functionality back.
I'm also betting the VC1 codec (that would do WMV) is what comes with Win 7 and that will be DXVA2 only thus the weird errors. I believe you would need a VC1 codec that is more XP styled to get acceleration maybe like what comes with PDVD8? We have just begun our discovery on video and Win7 so updates to the whitepaper would likely be forthcoming.
1. We have a sighting reported of an issue that causes choppy video and high CPU utilization with some combinations of use of certian BIOS and VBIOS. Updating the BIOS or removing the VBIOS (if it is an EFI, you can use the GOP) seems to correct the issue. It is thought to be an initialization issue that prevents the decode engine from starting up but a root cause has yet to be determined. It has been sighted primarily on AMI BIOS. This might be affecting you.
2. There is work to make EVR function appropriately with Z5xx and E6xx on Win 7. I think there will be some official news in the near future so keep watching the EMGD page here.
Hope this helps.