Fences Win7 bug / feature request

It seems that Fences does something to the Windows 7 display drivers such that a number of old games are broken. The symptom is the in-game display having its palette corrupted so that everything displays in crazy colours. It's been discussed for a number of games (Starcraft, Age of Empires II etc), in a number of places for example

  http://gaming.icrontic.com/articles/get-starcraft-working-on-windows-7-three-easy-steps

I know it can be fixed programmatically as there is a convoluted workaround, involving opening the screen resolution settings panel of Windows before running the game (!). Whatever that does, could perhaps be coded into Fences.

I would like to request one of two possible fixes for this.

1) Fix it so this doesn't happen, of course! It seems to be a 'feature' of desktop managers or perhaps Aero generally. If it can't be fixed, how about..

2) An easy way to disable Fences, so I could have a batch file of some sort that disables Fences, runs the game, and re-enables Fences on exit. Something easy enough for my children to use.

I'm running the release version of Win7 Home Premium 32-bit (from MSDN), and latest Fences, and latest ATI drivers on a Radeon 4850.

Thanks for any ideas

--

Chris

4,161 views 4 replies
Reply #1 Top

If you run the DirectX updater here:

DirectX

Does the issue persist?

Reply #2 Top

Yes, it does persist I'm afraid. I have some more info, a suggestion and a request:

INFO:

1) When game is running, alt-tab and killing all Explorer processes fixes the screen corruption in the game.

2) Probably not a Win7 issue. I remembered that my parents computer (XP, out-of-date NVidia drivers, Fences) does the same thing in some games (childrens' 'cluefinders' games) intermittently. I don't have enough access to prove it's the same thing but its suspicious and before loading Fences it never happened.

SUGGESTION:

Given that Fences works fine for 99% of apps you won't want to change things in the main code path. I was wondering if, when compatability mode is used on an app ('disable visual themes' or suchlike), Fences could be made to unload itself somehow? I strongly feel it's related to Fences.

I expect that all the affected software uses the same DirectX and colour palette manipulation technique. I wonder what it is. The strangest thing is that having the 'set resolution' dialog open on the desktop, while running the affected games, almost always fixes it !!?

REQUEST

Really, really need a way to turn off / process kill Fences easily if only to make investigating this easier!

thanks again for any comments

--

Chris

Reply #3 Top

I know it's following up my own post, but I now have a workaround and confirmation that it's not 100% a fences problem.

I can make the games run with a batch file that kills Explorer, runs the game, and re-enables Explorer.

I can also make the problem manifest on a Win7 computer without Fences. However I can only make it appear in XP _with_ Fences. Also the problem seems intermittent on the no-Fences computer, and 100% present on the one with Fences.

Conclusion:

Fences is implicated, but is not directly to blame. It's a horrible subtle intermittent but that will be no fun to track down. I have a workaround I can live with... so I'm happy to leave it.

Reply #4 Top

Hi Rilian - if you'd like to isolate Fences, I recommend heading to the config dialog... in "Tools" there's a small link for "More Tools..." near the bottom. In it you can uncheck the checkbox "Enable Fences" to turn it off. Try out your game and it should give you an idea :)

One thing Fences DOES do, that you can only test by uninstalling and rebooting, is turn on the "double-buffering" feature of Windows' listview for the desktop if you are on an XP system. Just changes how windows draws the desktop so that it draws it all during one step rather than multiple. This in no way interacts with your videocard though and is quite a regular thing so seems dubious