What it does do straight from the creator. who first posted the .dll here on oldblivion: http://www.oldblivion.com/sm/index.php?PHPSESSID=8f9479cf925711b61f80bdaac82699f9&action=profile;u=1068;sa=showPosts
I'm the lead developer of SwiftShader and I found out that the game can actually be run WITH heads when the 'adapter identifier' is spoofed so that the application thinks it's running on a different graphics card (that FaceGen does support).
So I created a DLL that will do this for you. You can download it here: links deleted
You can use it two ways:
1) Just place the d3d9.dll file in your Fallout3 folder. The game will use your graphics card, and hopefully it will support the actual rendering of the heads.
2) If not, you can use this in combination with SwiftShader. Rename SwiftShader's d3d9.dll file into swiftshader-d3d9.dll, and also place it into the Fallout3 folder.
Don't forget to set bUseFaceGenHeads back to 1! Cool
So as you can see this file was first uploaded August 03 2009. (How the community thought about using this to fix issues still sort of baffles me) This is also why there are calls in the .dll file to a swiftshader-d3d9.dll which does not come included and would force the game to use cpu rendering for shader support. Again there is no change to the quality of animations referenced anywhere in this post so this does not seem to be the cause of these performance issues.
What the issue does seem to be caused by however is the way FaceGen interprets videocards. More specifically it uses a http://msdn.microsoft.com/en-us/library/bb174317%28VS.85%29.aspx method and in the words of the original creator of the .dll file it
So what I am proposing, in my theory, is that FaceGen is simply getting incorrect results from the IDirect3D9::GetAdapterIdentifier method and as such might be misjudging the videocards capabilities and will as a result use a shader that is badly optimized for the card in question. So the way the fix is most likely to operate is by, either, overriding the IDirect3D9::GetAdapterIdentifier and forcing a very specific shader path or it is interacting with FaceGen in a way that is forcing it to use some other form of card capability detection.
Furthermore the file is named d3d9.dll simply because that name allows it to
And thats about it folks (for now atleast)
In closing I do have to say this though: I believe that this issue requires urgent Bethesda investigation because it is absolutely crippling the performance of a great many people with high and low end systems. And it might very well be affecting virtually every user of this game. The downloads of these two fixes: http://www.newvegasnexus.com/downloads/file.php?id=34778 and http://www.newvegasnexus.com/downloads/file.php?id=34970 have reached a current high of 130000 downloads. This to me indicates that this is a very large issue that is affecting a large portion of the userbase and, as a result, they are currently using one of the most ghetto duct-tape style performance fixes I have ever seen in my life. This NEEDS to be adressed in an official patch soon.