找回密码
 立即注册
搜索
查看: 12173|回复: 37

[软件] win7玩老游戏花屏的问题真难解决啊= =

[复制链接]
     
发表于 2014-2-9 11:47 | 显示全部楼层 |阅读模式
我哥喜欢玩老游戏。
一个是帝国时代2,但是在win7下玩的时候总是会花屏,不管是以兼容模式运行还是256色运行还是低分辨率。。。
后来按照网上的办法关闭explorer进程然后再玩,一开始确实不花了,但玩到一半又花屏了。。。草地也就算了,那海洋真是花得惨不忍睹。。。
还有一个是星际争霸1,这个好一点,只有开始界面是花的,游戏界面倒不花。。。
难道想玩老游戏就只能装XP了么
回复

使用道具 举报

     
发表于 2014-2-9 11:57 | 显示全部楼层
本帖最后由 Sunyata 于 2014-2-9 12:03 编辑

帝国二steam上有HD复刻
星际1我记得有个什么loader的,名字忘了...
-----
放狗查了下应该是叫chaos launcher
回复

使用道具 举报

     
发表于 2014-2-9 12:02 来自手机 | 显示全部楼层
少年下载帝国2HD吧

----发送自 Sony M35c,Android 4.1.2
回复

使用道具 举报

     
 楼主| 发表于 2014-2-9 12:41 | 显示全部楼层
Sunyata 发表于 2014-2-9 11:57
帝国二steam上有HD复刻
星际1我记得有个什么loader的,名字忘了...
-----

多谢~我去看看~
回复

使用道具 举报

     
 楼主| 发表于 2014-2-9 12:42 | 显示全部楼层
qool999 发表于 2014-2-9 12:02
少年下载帝国2HD吧

----发送自 Sony M35c,Android 4.1.2

为啥我搜帝国花屏补丁的时候他们说帝国时代2和帝国2HD是不一样的?
回复

使用道具 举报

发表于 2014-2-9 14:12 | 显示全部楼层
捧脸发呆 发表于 2014-2-9 12:42
为啥我搜帝国花屏补丁的时候他们说帝国时代2和帝国2HD是不一样的?

帝国2HD是去年才出的···
回复

使用道具 举报

发表于 2014-2-9 14:31 | 显示全部楼层
下个sctools 用窗口模式就不会花屏 很好用
回复

使用道具 举报

     
发表于 2014-2-9 16:30 来自手机 | 显示全部楼层
帝国时代HD版就不错啊,官方重制

----发送自 HUAWEI HUAWEI U9508,Android 4.2.2
回复

使用道具 举报

     
发表于 2014-2-9 23:42 来自手机 | 显示全部楼层
不要装帝国2HD复刻版,那货自带的水面特效就是个坑货。去翔鹰论坛找被遗忘的帝国2.2,这个非官方资料片很良心,而且FPS能到60帧。

----发送自 HTC Evo 3D GSM,Android 4.3.1
回复

使用道具 举报

发表于 2014-2-10 00:17 | 显示全部楼层
来,给你们一个自制工具
可以用来解决这个问题……
把游戏主执行程序添加到这个列表里面就可以了。

不敢保证解决,我电脑上可以,不过其他用户中似乎有添加了还是花屏的报告

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
回复

使用道具 举报

     
发表于 2014-2-10 00:21 | 显示全部楼层
简单来说把win7的ero特效关了即可
回复

使用道具 举报

     
发表于 2014-2-10 00:45 | 显示全部楼层
星际1的话 win8玩就不花屏啊。。。
回复

使用道具 举报

发表于 2014-2-10 02:01 | 显示全部楼层
win板用虚拟机玩老游戏   你们一般给虚拟机划多大空间

板子本身空间就挺吃紧的
回复

使用道具 举报

发表于 2014-2-10 02:38 | 显示全部楼层
搜vos windows 8掉落卡顿的时候搜到这个文章,里面方法很多,估计能解决楼主问题
http://write-code.blogspot.com/2 ... ics-problem-on.html
回复

使用道具 举报

发表于 2014-2-10 05:37 | 显示全部楼层
塞尔达公主 发表于 2014-2-10 02:01
win板用虚拟机玩老游戏   你们一般给虚拟机划多大空间

板子本身空间就挺吃紧的 ...

用平板玩RTS
回复

使用道具 举报

     
 楼主| 发表于 2014-2-10 09:18 | 显示全部楼层
sorayuki 发表于 2014-2-10 00:17
来,给你们一个自制工具
可以用来解决这个问题……
把游戏主执行程序添加到这个列表里面就可以了。

谢谢~我让我哥试试去~
回复

使用道具 举报

     
 楼主| 发表于 2014-2-10 09:19 | 显示全部楼层
samta 发表于 2014-2-10 00:45
星际1的话 win8玩就不花屏啊。。。

那机器本来是预装win8的,但是没分区。。。
我哥找我帮他分区,结果被我把那什么给破坏了,电脑无限重启= =最后只好装了win7。。。
电脑苦手的悲哀
回复

使用道具 举报

     
 楼主| 发表于 2014-2-10 09:20 | 显示全部楼层
塞尔达公主 发表于 2014-2-10 02:01
win板用虚拟机玩老游戏   你们一般给虚拟机划多大空间

板子本身空间就挺吃紧的 ...

是笔记本啦~
回复

使用道具 举报

     
 楼主| 发表于 2014-2-10 09:21 | 显示全部楼层
real_zyf 发表于 2014-2-10 00:21
简单来说把win7的ero特效关了即可

这是啥
回复

使用道具 举报

     
 楼主| 发表于 2014-2-10 09:22 | 显示全部楼层
eureka9 发表于 2014-2-10 02:38
搜vos windows 8掉落卡顿的时候搜到这个文章,里面方法很多,估计能解决楼主问题
http://write-code.blogsp ...

无法加载。。。
回复

使用道具 举报

     
发表于 2014-2-10 11:34 | 显示全部楼层

简单来说进游戏之前把explorer.exe强行杀掉就行
(至少sc1可行
回复

使用道具 举报

     
发表于 2014-2-10 12:03 来自手机 | 显示全部楼层
关掉glass特效貌似能解决

----发送自 LGE Nexus 4,Android 4.4.2
回复

使用道具 举报

     
发表于 2014-2-10 12:14 | 显示全部楼层
除了平板,虚拟机解决一切问题
回复

使用道具 举报

     
 楼主| 发表于 2014-2-10 12:25 | 显示全部楼层
real_zyf 发表于 2014-2-10 11:34
简单来说进游戏之前把explorer.exe强行杀掉就行
(至少sc1可行

= =试过了,玩到一半又花了。。。
兄台你不仔细看帖我很桑心啊喂
回复

使用道具 举报

发表于 2014-2-10 12:28 | 显示全部楼层
一看令兄就不经常玩,要么就是爱不够,可以从亲戚家或者tb几百块钱收个旧电脑啦,我现在还有一台IBM上装着98SE,专门配了机械鼠和非玄学的机械键盘,专门玩老游戏……
回复

使用道具 举报

     
 楼主| 发表于 2014-2-10 12:28 | 显示全部楼层
朵拉斯 发表于 2014-2-10 12:03
关掉glass特效貌似能解决

----发送自 LGE Nexus 4,Android 4.4.2

肿么关?
回复

使用道具 举报

     
 楼主| 发表于 2014-2-10 12:29 | 显示全部楼层
宅男的爱 发表于 2014-2-10 12:14
除了平板,虚拟机解决一切问题

(⊙o⊙)…我是不太指望我哥捣鼓虚拟机了。。。
回复

使用道具 举报

     
发表于 2014-2-10 12:31 | 显示全部楼层
捧脸发呆 发表于 2014-2-10 12:25
= =试过了,玩到一半又花了。。。
兄台你不仔细看帖我很桑心啊喂

那就杀dwm.exe,或者把主题改成windows7 basic
回复

使用道具 举报

     
 楼主| 发表于 2014-2-10 12:42 | 显示全部楼层
real_zyf 发表于 2014-2-10 12:31
那就杀dwm.exe,或者把主题改成windows7 basic

我去试试,多谢~
回复

使用道具 举报

     
 楼主| 发表于 2014-2-10 12:45 | 显示全部楼层
桑纳法比驰 发表于 2014-2-10 12:28
一看令兄就不经常玩,要么就是爱不够,可以从亲戚家或者tb几百块钱收个旧电脑啦,我现在还有一台IBM上装着9 ...

佩服佩服~
回复

使用道具 举报

发表于 2014-2-10 16:55 | 显示全部楼层
win7 64位玩英雄无敌3显示不全怎么破?
回复

使用道具 举报

     
发表于 2014-2-10 16:57 | 显示全部楼层
捧脸发呆 发表于 2014-2-10 12:29
(⊙o⊙)…我是不太指望我哥捣鼓虚拟机了。。。

只要配置一遍,VMWare比QQ用起来还简单
回复

使用道具 举报

     
 楼主| 发表于 2014-2-10 17:21 | 显示全部楼层
san30000 发表于 2014-2-10 16:55
win7 64位玩英雄无敌3显示不全怎么破?

挠头。。。
回复

使用道具 举报

     
 楼主| 发表于 2014-2-10 17:22 | 显示全部楼层
宅男的爱 发表于 2014-2-10 16:57
只要配置一遍,VMWare比QQ用起来还简单

好吧,我去看看怎么弄= =
回复

使用道具 举报

发表于 2014-2-10 17:32 | 显示全部楼层
本帖最后由 sorayuki 于 2014-2-10 17:39 编辑

所以微软本来就有提供面向DirectDraw游戏的兼容性设置,
在注册表的HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\DirectDraw\Compatibility位置(32位系统自己去掉Wow6432Node
里面有一些预设的,自己仿造创建键值就可以了
星际争霸1、帝国时代1、帝国时代2,我用这种方式都能跑起来不花屏。

网上给出的解释是explorer之类的系统进程,会使用全局调色板,这种调色板的设置会覆盖游戏对调色板的设置,使得颜色不正常

我当时参考的文章:
http://blog.macuyiko.com/2009/07 ... d-grass-purple.html
摘抄重要内容
(9 – reliable) Thanks to this comment I found out that Windows 7 actually provides a compatibility hack build in to allow running old DirectDraw games in all their glorious colors. The HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\DirectDraw\Compatibility\ registry entry (or HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\DirectDraw\Compatibility\ for 64bit Windows) contains entries for some popular games, such as Age Of Empires and Starcraft.

Take a look at HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\DirectDraw\MostRecentApplication to find out the correct application ID and edit the registry entry manually accordingly.

Technical explanation
If you’re interested in a little background on why this problem is happening, read on.
When I first encountered this problem, I already knew a little about DirectX, the GDI and the Windows API. Basically, back in the day, DirectX (which handles a lot of the graphics and multimedia workload in games and other program) included a component called Directdraw, used for rendering 2D graphics.
PCs back then weren’t really powerful. Everything had to be as fast as possible, even color handling. So something which Directdraw did for you was maintaining a palette of 256 colors. Like a painter, programmers could fill this palette with 256 colors they would use: ten greens for grass, 6 blues for water, and so on. Some of these 256 colors are static (but then again, not always) and cannot be changed. If you’re interested in the deep and dirty details: this page does a good job explaining it.
Now this is the thing: if you’re a fullscreen game, you don’t want other programs screwing up the system palette, changing your beautiful chosen colors to ugly greens and reds. And this is what’s happening in Windows 7. If you read System Palette and Static Colors on MSDN, it states that “However, because changing the static colors can have an immediate and dramatic effect on all windows on the display, an application should not call SetSystemPaletteUse, unless it has a maximized window and the input focus.” Alas, this is not enforced by Windows, and thus explorer.exe (which comes from Microsoft mind you) and other programs will happily call SetSystemPaletteUse and mess the poor fullscreen DirectDraw game up.
I googled a bit around to see if I could find any clues. This message at Stackoverflow describes the same problem. This message is actually posted by the maintainers of Worms: Armageddon. No-one provided an answer though. I opened up Visual Studio (which was still installed) to quickly throw something together in VB.NET to intercept the WM_SYSCOLORCHANGE, WM_PALETTECHANGED, WM_PALETTEISCHANGING and WM_QUERYNEWPALETTE messages and look at where they’re coming from. Basically, three processes are fighting:

CHANGING from (0)  CHANGED from Age of Empires II Expansion (135458)  Device context: 16847861  Process: 4508: age2_x1  Got 256 palette size scr  [...]  CHANGED from GDI+ Window (917744)  Device context: 184626156  Process: 2452: explorer  Got 256 palette size scr  CHANGED from (65552)  Device context: 1744905863  Process: 540: csrss  Got 256 palette size scr  [...]


The game itself, explorer.exe, and csrss.exe.

但是你们不觉得每次要玩游戏都要结束explorer进程很难受吗,
我感觉很难受啊
加了这样的兼容性键值以后,explorer在这样的进程在前台运行的时候就会暂停设置调色板的行为,使得游戏画面不受影响。

因为手工修改比较麻烦,外加这些键值里除了exe文件名还有一个识别exe文件的识别子(后来证明是文件头里的timestamp)
所以我弄了个有图形界面的添加这样兼容性设置的工具(就是10楼传的那个附件)

另外就是vmware我之前也有尝试过,虚拟机装xp系统,结果是帝国时代2会卡,总之效率堪忧的感觉。
回复

使用道具 举报

     
发表于 2014-2-10 18:06 | 显示全部楼层
回复

使用道具 举报

     
 楼主| 发表于 2014-2-11 09:25 | 显示全部楼层
grax 发表于 2014-2-10 18:06
http://yun.baidu.com/share/link?shareid=2784494219&uk=1477206597&third=0
试试这个

谢谢~
回复

使用道具 举报

     
 楼主| 发表于 2014-2-11 09:26 | 显示全部楼层
sorayuki 发表于 2014-2-10 17:32
所以微软本来就有提供面向DirectDraw游戏的兼容性设置,
在注册表的HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432No ...

似乎看懂了又似乎没看懂。。。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|上海互联网违法和不良信息举报中心|网上有害信息举报专区|962110 反电信诈骗|举报电话 021-62035905|Stage1st ( 沪ICP备13020230号-1|沪公网安备 31010702007642号 )

GMT+8, 2025-9-6 22:39 , Processed in 0.936607 second(s), 7 queries , Gzip On, Redis On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表