• Welcome to Overclockers Forums! Join us to reply in threads, receive reduced ads, and to customize your site experience!

Do we loose Windows optimization with mobiles in desktops?

Overclockers is supported by our readers. When you click a link to make a purchase, we may earn a commission. Learn More.
...so what happens when Windows Media Encoder 7 is used with desktop vs mobile Bartons?
 
Apparently it runs slower (cause it doesn't use the SSE enhancements) because Microsoft coded the software poorly... That's nuts. I can't believe they use the CPU ID rather testing for SSE... I can't imagine anyone would do that, but I suppose if anyone is going to do it, it'll be Microsoft.

--from the link GnuFish posted---
So how do you make WME7 detect the Athlon XP as a SSE enabled processor? The solution is actually quite simple; If you run a profile on Windows Media Encoder during an encoding task you'll quickly come to realize that most of the work is being done in a library located in the \Windows\System32\ directory called 'wmvdmoe.dll'. This is the encoding library used by WME hence a great portion of the encoding process is spent dealing with this file. By modifying this file you can set what manufacturer string to look for in order to enable SSE. In order to accomplish the goal of enabling SSE on the Athlon XP you'd want to look for 'AuthenticAMD' instead of 'GenuineIntel'. Those that have experience with editing dlls will find that this workaround is quite easy to implement; for everyone else, AMD has released a patch that will do this for you and even make a backup copy of the old wmvdmoe.dll file for you to compare to.
-----------------------

I still say it's safe to assume that other software won't be making this mistake. Certainingly it's been posted that DivX and other common encoders run just as fast on the mobile chips with desktop mobos as with desktop chips in desktop mobos. I would say 98% of all software that isn't Windows Media Encoder 7 will try to run SSE code as a means of determining whether or not SSE exists, rather than checking CPU id (as new processors that support SSE could appear with "more differenter" CPU-IDs and prevent the optimization... it's a horrible horrible way to code software, and it seems Microsoft wins the crap-prize yet again. Go MS!!
 
Thank you BobPaul. What are the steps to fix this problem exactly, downloading a patch or manually editing wmvdmoe.dll (what are the steps to do so?)
 
I'm not sure.. that's just a quote from the link that GnuFish posted. Maybe reading the rest of the review or searching more on the web will help... I'm not certain, but my gut would suggest using WME8 or 9 if they exist, as it looks like MS got a fair amount of press for this one and I would expect them to have fixed it...

It sounds like you have to hex edit the file and change "GenuineIntel" to whatever your computer is displaying your processor as...
 
I believe windows still uses the correct driver. Can anyone confirm?

The problem I posted actually occured on all AXPs. It cause was probably some programmer being lazy.
 
on mine windows tries to use the same driver, but for some reason it just keeps plug-n-playing at boot up and sets unknown processor.
even when I manually went to device manager and tried to force it, it just reverts after a reboot.

in fact the other day I went to check windows update for the first time in a few weeks, and it detected that the driver wasn't installed and added it to the list of updates to install, yet it still uses unknown cpu. :-/

the funny thing is my mobo only detects my cpu properly when it's clocked at 500 or 600mhz, anything higher than that it says unknown cpu and sometimes doesn't even display that cpu speed :thup:
 
So the problem you are having is:
1. You motherboard bios is not correctly identifing your CPU, because it does't know about mobiles.

and

2. Windows is not smart enough to know that there are a lot of broken bioses out there and check for itself what cpu you have.

But, as long as the bios enables SSE on the chip, you won't lose anything in programs that check to see if sse is enabled. To check, run wcpuid and see if it says sse enabled.
 
1.) true, but seeing as it recognizes it at low clock speeds there's slight support

2.) very true, but then why did Win update recognize it that one time? and not at all since. obviously some very bad programming. :-/

GCPUID shows SSE is supported
same with Wcpuid.
so long as the apps are smart enough to check or use it by default I'll be happy.
already waay better cpu than my pally is/was.

more than anything I was just curious if anyone else had tried forcing the driver, and if anyone noticed a difference.

I highly doubt it but there's a new bios for mine to support the sempron, maybe they added mobile support and didn't advertise it. :D
here's to wishfull thinking :beer:
lol
 
Ok, my mobile barton gets detected as unknown cpu type, but we do indeed get sse support in windows as proved by sisoft sandra here.
 

Attachments

  • sse.jpg
    sse.jpg
    63.5 KB · Views: 71
We established throughout the thread that SSE is there.

The remaining problem is what happens when applications don't know that it is (like Windows Media Encoder 7)? First of all what is Windows Media Encoder 7? Is it present only on 9x/Me systems that still use Windows Media Player 7?


BobPaul said:
Apparently it runs slower (cause it doesn't use the SSE enhancements) because Microsoft coded the software poorly... That's nuts. I can't believe they use the CPU ID rather testing for SSE... I can't imagine anyone would do that, but I suppose if anyone is going to do it, it'll be Microsoft.

--from the link GnuFish posted---
So how do you make WME7 detect the Athlon XP as a SSE enabled processor? The solution is actually quite simple; If you run a profile on Windows Media Encoder during an encoding task you'll quickly come to realize that most of the work is being done in a library located in the \Windows\System32\ directory called 'wmvdmoe.dll'. This is the encoding library used by WME hence a great portion of the encoding process is spent dealing with this file. By modifying this file you can set what manufacturer string to look for in order to enable SSE. In order to accomplish the goal of enabling SSE on the Athlon XP you'd want to look for 'AuthenticAMD' instead of 'GenuineIntel'. Those that have experience with editing dlls will find that this workaround is quite easy to implement; for everyone else, AMD has released a patch that will do this for you and even make a backup copy of the old wmvdmoe.dll file for you to compare to.
-----------------------

I still say it's safe to assume that other software won't be making this mistake. Certainingly it's been posted that DivX and other common encoders run just as fast on the mobile chips with desktop mobos as with desktop chips in desktop mobos. I would say 98% of all software that isn't Windows Media Encoder 7 will try to run SSE code as a means of determining whether or not SSE exists, rather than checking CPU id (as new processors that support SSE could appear with "more differenter" CPU-IDs and prevent the optimization... it's a horrible horrible way to code software, and it seems Microsoft wins the crap-prize yet again. Go MS!!


What patch? Where?
.
.
.
 
Windows Media encoder is used by some software (like ATi TV Wonder drivers) to display video and audio content. It allows for web broadcasting of your own content, as well as encoding to Windows Media files. Microsoft is currently on Ver.9 of the encoder, its actually a pretty nice piece of free software and one of the best kept secrets around WinXP. To my knowledge Ver.9 does not support older versions of Windows, just XP. As far as the SSE support and the Mobile, Ver.9 seems to be using it from what I can tell with my own tests when compairing against an original Athlon.


http://www.microsoft.com/windows/windowsmedia/9series/encoder/default.aspx
 
If you install the Ver.9 you can download and play some HD content like those linked below, demo's that showcase the power of Media Encoder. I will tell you now that a video card older than a 9800 Pro will have problems running these videos without skipping. On my current rig im getting 24 fps which is the max they will play at. I remember trying these HD demo's a year or so back when I had a Barton 2500 and a 9800 Pro and I had some small skipping during playback. You can see your FPS while watching the video by clicking View/ Statistics/ Advanced tab.


http://www.microsoft.com/windows/windowsmedia/content_provider/film/ContentShowcase.aspx
 
So it's tied to to the version of Windows Media Player? This means that all Windows XP systems do not use Windwos Media Encoder 7 but version 8 or 9 instead?


What about 9x/Me system, they obviously have it initially, so what's the way to patch it or edit that wmvdmoe.dll file on those systems using mobile XPs?
 
Correct, SSE support using any AthlonXP or Mobile is tied to the Media Player version and also it depends on what processor you had in when you installed Windows. If you had a non-SSE processor Windows will have the feature flag set to NO for SSE and no app will use it. If you have a SSE capable processor installed when you load Windows onto your rig then your good to go. Most of this issue with SSE support originaly came up when the AthlonXP's came out and people wanted to upgrade Thunderbird rigs without reinstalling Win which was a no-no if you wanted SSE support.


I guess the real question here is just what does SSE do for you anyway. Outside of video encoding it has little impact on the average user. Games can use 3DNow and 3DNow Pro which is identified in all AthlonXP's anyway so thats a wash. If you absolutely need SSE support Id think downloading the latest version of DirectX, Media Encoder and Media Player would update the core files to the newer versions, which make use of all the features available on any given processor, but you would still have to reinsatll Win if your original processor didnt support SSE. The truth of the matter is that outside of watching an occasional video, SSE doesnt get used that much on a Me or 98 rig anyway, and I doubt anyone would notice the difference. Nobody does video encoding on Win Me or 98 rigs due to the file size limitations inherent in the FAT file system. Microsoft probably thought (correctly) they would be OK without bothering to code for a feature that would provide little if any noticable benefit when encoding the small files FAT can handle.
Anyone encoding larger files, such as a professional or video hobbyist would be using Win NT, 2000 or XP because they can handle the larger file sizes usualy associated with video encoding. In those cases you would see a noticable difference because on very large files encoding using the SSE instruction set will save you some noticable time.

To be honest Ive found that encoding using MMX, 3DNow or SSE are all relatively similar and unless you have an app optimized for serious performance increase when rendering large files using a specific feature set you wont notice much difference anyway. 3DNow works just as good as 3DNowPro or SSE in most cases.
 
Thank you for your thoughts.

There is one thing that was mentioned and regardless of the fact that most users won't need it, some will:

If you installed Windows using a SSE capable processor and it celarly shows up as being present,

What happens if you have a 9x/Me machine with Windwos Media Player 7?

Regardless of the fact that most applications will be aware of the presence of your SSE capable processor on that Windows 9x/Me machine, Windows Media Encoder 7 will not because it uses a different way of detecting it.


What's the patch procedure for that case, regardless if only a few people may actually need it?
 
To my knowledge the "only" fix is to install a later version of Media Encoder.

There was some talk about a patch released by AMD and another by Microsoft that would enable SSE at the time this issue first appeared, but you'll have to Google for them since I never used either.

The way Media Encoder looks for the feature flag was changed in versions after 7, the newer versions do not have the SSE "cpu ID string" issue that version 7 did. Apparently Microsoft decided to use the standard "cpu feature flags", like other software makers, to turn on SSE support in later versions of Media Encoder.
 
Last edited:
...and the only way to install post version 7 Media encoder is to install Windows Media Player 9?

(since version 8 that came with Windows XP is not aviliable for other operating systems) ....

It would be nice to have more info on:
"By modifying file wmvdmoe.dll you can set what manufacturer string to look for in order to enable SSE. In order to accomplish the goal of enabling SSE on the Athlon XP you'd want to look for 'AuthenticAMD' instead of 'GenuineIntel'. Those that have experience with editing dlls will find that this workaround is quite easy to implement; for everyone else, AMD has released a patch that will do this for you and even make a backup copy of the old wmvdmoe.dll file for you to compare to."
 
Back