DirectDraw Emulation Is Broken In Windows 8/8.1

So this is the 3rd place I've been asked to post this after Technet & MSDN.

There seems to be an issue in Windows 8/8.1 with DirectX and its DirectDraw emulation. Certain games which use DirectX9 & older run at very low framerates compared to Windows 7 & Vista which to my understanding also emulate DirectDraw. There are numerous threads about this on the Internet, below are some examples of this:

Neowin - "windows 8 warning for old games"

EightForums - "old games are very slow"

Microsoft Answers - "old games slow on windows 8"

Eight Forums - "How to play old DirectDraw games on Windows 8?"

Steam Forums - "Poor performance in Windows 8"

Some people have experienced significant FPS increases by using the WineHQ provided D3D files. This is because it emulates the DirectDraw calls through OpenGL, a bit shameful of Microsoft when DirectX was always supposed to be considered the superior, fully backwards compatible alternative to OpenGL.

Compatibility Mode does not solve this issue! - This is not a compatibility issue. The games run exactly as intended, there's nothing preventing them from running, it's simply the fact that something is broken in DirectX in 8/8.1 which causes them to run with unusable FPS.

The games run perfectly in Windows Vista/7 which to my understanding use the same system as Windows 8/8.1 for DirectDraw emulation so it definitely seems as if Microsoft broke something probably unintentionally in Windows 8/8.1 to cause this issue.

 

Question Info


Last updated December 2, 2018 Views 9,391 Applies to:

* Please try a lower page number.

* Please enter only numbers.

* Please try a lower page number.

* Please enter only numbers.

Win 8 is not made for games, a BIG BIG mistake by Mickeysoft. Until it is this will remain a problem.

2 people were helped by this reply

·

Did this solve your problem?

Sorry this didn't help.

Great! Thanks for marking this as the answer.

How satisfied are you with this reply?

Thanks for your feedback, it helps us improve the site.

How satisfied are you with this response?

Thanks for your feedback.

I wouldn't say that it isn't made for games. The games themselves are actually running as expected there's just this DirectX issue which is preventing them from running to their full potential.

I've found games which simply refuse to run Windows 8/8.1 also do not run on Vista or 7. This is where VMware Player comes into use, but this DirectDraw issue in Windows 8 should be fixable.

Did this solve your problem?

Sorry this didn't help.

Great! Thanks for marking this as the answer.

How satisfied are you with this reply?

Thanks for your feedback, it helps us improve the site.

How satisfied are you with this response?

Thanks for your feedback.

OK, I have 'old' games running fine in 8.1 and without compatibility settings, which never work for me. But 8 and 8.1 are, as I understand it, primarily made for touch screen which was the reasoning behind my games statement. I even have Freelancer 1997 running in 8.1 ;)

1 person was helped by this reply

·

Did this solve your problem?

Sorry this didn't help.

Great! Thanks for marking this as the answer.

How satisfied are you with this reply?

Thanks for your feedback, it helps us improve the site.

How satisfied are you with this response?

Thanks for your feedback.

DirectDraw was deprecated in DirectX 7 which itself is 14 years old. The API (code contracts between software and hardware) hadn't updated since, Software developers were advised to not use this interface for more than a decade. What you see is gradual abandonment from hardware developers and no effort put in compatibility testing by software developers.

DWM never played well with DirectDraw. Search StarCraft here and you will find many issues since Vista. Now in Windows 8 DWM is always on.  Also in Windows 8 color depth is limit to true color and above so lower color depths are software emulated (try Layer_ForceDirectDrawEmulation and DWM8And16BitMitigation if you know how to edit the registry).

Good thing about interface deprecation is that it is now a fixed interface. It is now safe to hook DirectDraw APIs or write a replacement based on a supported graphics interface as no breaking changes will be introduced in a future update.. Search "directdraw wrapper" and you can find many such libraries, most of them have a limited set of supported games, however. 

MSMVP VC++

Did this solve your problem?

Sorry this didn't help.

Great! Thanks for marking this as the answer.

How satisfied are you with this reply?

Thanks for your feedback, it helps us improve the site.

How satisfied are you with this response?

Thanks for your feedback.

The fact remains that in Windows Vista & 7 the games were more playable than they are in Windows 8. Sure there may have been some isolated issues which you have pointed out above but to go from working for the most part to universal slow speeds is a joke and if the answer is that it won't be fixed then it would be great if we could have some official response with literally "The speed issue in old DX games is not going to be resolved".

It proves that Windows Vista & 7 are actually more viable platforms for gaming at the moment as they can run new games flawlessly and old games with playable FPS. Presumably nobody is expecting these games to run absolutely perfect in Windows 8, but at least to be playable as they were in Vista & 7 at decent speeds.

Did this solve your problem?

Sorry this didn't help.

Great! Thanks for marking this as the answer.

How satisfied are you with this reply?

Thanks for your feedback, it helps us improve the site.

How satisfied are you with this response?

Thanks for your feedback.

I don't think this is going to be resolved by Microsoft. Deprecated means no engineering effort will be put into it. And we did see no effort in the last decade. No compatibility testing, no security updates. Efforts to solve this from the open source community is another matter. If there's enough demand, maybe some video card company will release a card that support DirectDraw to put the software emulation back in its place, who knows. DirectX is a contract between hardware and software developers. Microsoft's fallback is a spare tire not a full replacement.

Yes Windows 7 is a more viable platforms for DirectDraw games. Those games have a average shell life of a few weeks. Nobody then write DirectDraw games and expect it to be running on software emulation full time or there are still people playing them after a decade or two. I would say it is amazing that they lasted this long without the developer's effort.

MSMVP VC++

Did this solve your problem?

Sorry this didn't help.

Great! Thanks for marking this as the answer.

How satisfied are you with this reply?

Thanks for your feedback, it helps us improve the site.

How satisfied are you with this response?

Thanks for your feedback.

Yes and the "fallback" has worked fine in Vista & 7. There hasn't been direct hardware support for years which is why the emulation is there and all modern machines which can run current games should be able to emulate this fine (as they do in Vista & 7). I'm not a Dev, I'm a Network Engineer so this sort of thing is out of my league but some sort of explanation as to why the emulation is superior in previous versions of Windows would be useful.

Did this solve your problem?

Sorry this didn't help.

Great! Thanks for marking this as the answer.

How satisfied are you with this reply?

Thanks for your feedback, it helps us improve the site.

How satisfied are you with this response?

Thanks for your feedback.

It may well be the case that even more old junk has been removed from the newer versions of Windows. A game is no different than any other piece of software, it is the developers' job to make it compatible with newer releases of OSes, not the OSes' developers' job to worry about keeping backwards compatibility with decade+ old stuff.

It is not nice, as said game developers may have gone out of business by now, but that's reality. The only people capable of fixing this are themselves, what Microsoft could do at best is to try and add some error mitigation features... which for something that has been deprecated for more than a decade is simply not worth the effort.

Until customers demand more support from game developers, this will be a process that will keep repeating as time goes and technology improves.

Did this solve your problem?

Sorry this didn't help.

Great! Thanks for marking this as the answer.

How satisfied are you with this reply?

Thanks for your feedback, it helps us improve the site.

How satisfied are you with this response?

Thanks for your feedback.

, what Microsoft could do at best is to try and add some error mitigation features... 

Or, you know hire a single programmer familiar with ddraw to implement in dx/opengl/software in couple weeks...

Some people implemented such things in there spare time for games that didn't work. WineD3D for windows had a semi-functioning ddraw implementation. (some graphics were corrupted)

Did this solve your problem?

Sorry this didn't help.

Great! Thanks for marking this as the answer.

How satisfied are you with this reply?

Thanks for your feedback, it helps us improve the site.

How satisfied are you with this response?

Thanks for your feedback.

I don't think it's anything to do with "old junk" being removed. The emulation is still there or else these games would surely not even run. Interesting point, a lot of the games which run slow, run at full speed in windowed mode, surely this is a good indicator that the emulation is simply broken and not just a case of an intentional change in Windows 8.

Did this solve your problem?

Sorry this didn't help.

Great! Thanks for marking this as the answer.

How satisfied are you with this reply?

Thanks for your feedback, it helps us improve the site.

How satisfied are you with this response?

Thanks for your feedback.

* Please try a lower page number.

* Please enter only numbers.

* Please try a lower page number.

* Please enter only numbers.