解决游戏画面卡黑格子的方法
众所周知,魔力宝贝是一款20年的老游戏,我们不断的换新电脑,新显卡,更新windows,最后的结果就是:
故障可以描述为:
游戏界面黑框、黑格子、崩溃、无法开启四档画质、换了新笔记本后无法玩魔力,等等。
我先给出解决办法,后面我们再讨论这个问题。
到这个网站,下载最新版本,解压到游戏的根目录
https://fdossena.com/?p=wined3d/index.frag
搞完之后大概是这个样子:
注意,尽量不要用其他网站去下载,我发这个是官网。如果后续百科可以上传文件,我会留一份。
然后你可以任性的大概4档画质,问题解决。
当然,也不是100%完全解决,虽然没有了方格子,但是文字有的时候会有点难以看清,不过玩已经可以了,比如这种:
接下来我们聊一聊为什么会出现这个问题吧。
游戏开发基本都是基于API实现的,这个API是操作系统负责,windows主推Direct3D,魔力宝贝是基于DX9.0开发的。
但是呢,魔力宝贝用了一些DX9.0中的非官方实现,来实现了一些半透明效果,这种方法以前是可以的,毕竟以前DX9就是主流,但是到了DX11时代,就不是主流了。
显卡厂商在DX11时代开始慢慢的不再维护DX9,虽然还能用,但是主要就是维护官网用法,像是一些灰色用法就不管了,就慢慢开始出问题。
这个故障其实有年头了,不是第一次出现,最开始是某些集显出现,后来是NV、AMD的某些独显也出现,现在DX12时代了,这已经是通病了。
可以说,你买新电脑,就99%会遇到这个问题。
那windows不维护,显卡厂商也不维护,怎么解决呢?
嘿嘿,这时候好玩的来了。
不仅仅有DX API,其实还有OpenGL,这个API虽然在windows不是主流,但是也能跑,这些年跨平台移植和国产化比较火,很多windows上的游戏想要在Linux上跑,就需要有人做API的转换层。
于是,Wine诞生了。
我们下载的东西,应该叫DirectX 1-11 to OpenGL wrapper.
他转换的时候,保留了更多的特性,我们游戏借助于OpenGL跑,而这个API显卡厂商的维护力度比较高,所以我们跑起来了,虽然半透明的效果丢失,导致字体看不太清楚,但是起码不是黑框了。