Hi I made little compare. I used 3DMark2000, 3DMark2001SE and PCMark04 Free. I run them few times and take the best results that i could achieve. http://www.wine-benchmark.yoyo.pl/ If i look at benchmark-> http://wiki.winehq.org/BenchMark-0.9.5 , i must say Ubuntu is slow. Good that new Nvidia drivers make Wine faster. In 3DMark2000 High Polygon Count test Wine is much better then XP. Why in 3DMark2000 High Polygon Count is better and in 3DMark2001SE not? I see improvments in Fill Rate, DOT3 Bump Mapping and Pixel Shader. But why such drop in Advanced Pixel Shader? 3DMark2000 results for me in Wine are almost as good as XP but in 3DMark2001 not so good. Why, it test almost the same things, but the results are not so good? With Wine better use 32bit system.
In general our Direct3D emulation layer is slower than Windows Direct3D due to the fact that not all Direct3D calls. Especially for older versions we need to do some more emulation and newer versions are a bit easier. Second the quality of the OpenGL drivers also affects performance but in case of Nvidia the drivers are of high quality and offer good performance. The main reason Wine outperforms Windows in some older DirectX tests is because all WineD3D code. Due to this when we add support for new OpenGL extensions we also update our 'old' DirectX code. Microsoft doesn't update their DirectX7/8 drivers anymore. The 3Dmark2001 polygon test might be working very differently and it might even be that we are hitting some nasty emulation paths which reduce performance.
Thunderbird: some of your sentences seem to cut off without properly having explained the situation... "not all Direct3D calls" what? "all WineD3D code" does what? Anyway, yeah. Linux has no DirectX so it uses OpenGL to "translate" Direct3D calls, which can be slower, but if well programmed or optimized parts can be faster than real DirectX.