为什么各种模拟器的推荐硬件配置比被模拟的设备配置都要高(得多)?

似沐夕梓


很早的时候,我们玩游戏除了在电脑上玩,还有就是在很多的游戏机上玩。但是,不同的游戏都可能会有不同的主机设备,想要什么游戏都玩,可能在买游戏机的开销上都不小。

因此,聪明的程序员们就开发了一种叫模拟器的程序,能够在电脑上模拟出各种游戏机的环境,从而能够在电脑上运行各种主机的游戏了。

但是,很多的模拟机需要的配置,比游戏主机的配置高出不少。

例如PS3的模拟器

如果想要在电脑上运行PS3模拟器的游戏,至少CPU需要i5-6600K以上,显卡需要GTX1050ti以上,都还不是十分流程。但是PS3的配置呢CPU是IBM Cell Broadband Engine(65nm) ,显卡只有256M的显存,内存也只有256M。

为什么会有这种情况呢?

这是因为,每种游戏机都有自己的系统环境,而游戏软件其实是通过编译器,编译成为适合游戏机操作系统的文件,然后直接和底层设备通信,因此可以完全的发挥游戏机的硬件性能。

但是要通过模拟器在电脑上运行却不一样。首先,我们使用的Windows操作系统是不认识这个游戏软件中的各种组件的,想要运行,就要找个翻译。而模拟器就担当了这个翻译的角色。

而有时候,可能还有些生僻词,翻译一次后,Windows操作系统也不认识,还需要多次翻译,这就需要消耗大量的性能。越是大的游戏,其中的语言也就越复杂,模拟器要实时的翻译大量的这种语言,压力就会更大,因此,资源的开销也就越大了。


会技术的葛大爷


提问者对于这样一个问题的提问可以说,提问者应该对于虚拟系统这样的一个概念是没有一个比较清晰的认知的,所以呢,我想简单的给提问者说一说这具体是一个什么样的原理,以及为什么会产生这样的问题。

我就拿现在非常火热的安卓模拟器来举这个例子吧,实际的情况就是,我们的普通的电脑的性能是要远远比现在的智能手机的这样的一个性能要高出很多的,但是即便如此,我们在使用电脑上的模拟器去,玩很多的游戏的时候,会发现并没有原生的手机来得那么的流畅,这到底是一个什么样的原因呢?

因为我们的电脑在运行这个虚拟机的时候,他要运行其他的很多的东西,比如说你最起码得运行一个操作系统吧,无论是windows还是Linux或者是苹果系统,这一个系统就要占据大量的运算资源啊,所以你安装模拟器的这台电脑的设备的性能,一定要远远的高于模拟器模拟的那个设备的性能,才可以模拟成功不是吗?

但是,这并不能够解释为什么这个性能差异会那么大,其实最重要的问题啊,还是很多指令的模拟,需要耗费很多的资源。

比如说我们模拟游戏机,我们必须知道游戏机的那些底层的系统构架和PC电脑的这个底层的构架是完全不一样的,也就是说我们在虚拟机的实现上必须模拟出,和真实的那个游戏机一样的这样的一个环境,才能够让这个模拟器能够得到一个比较好的运转,让上面的游戏能够正常的运行。

而这一切都是需要额外的计算的,比如说原来游戏机可以直接运行乘法,但是我们的普通电脑只能够运行加法,那么它只能够用加法去模拟乘法,这里面的运算量比那个普普通通的乘法就要多出来很多很多了。

当然我这只是打了个比方,我可没有说我们普通的电脑只能进行加法运算,不能进行乘法运算,我只是通过这样的一个比喻让大家理解到,这个里面具体是一个什么样的精神。

所以一方面,要运行自己本来的系统,就需要占据一部分的资源,另外在进行模拟的时候,又需要额外的去计算很多的东西,就造成了很多资源上的浪费,正因为如此绝


大多数的模拟器的要求要比被模拟的那个设备的性能要求要高出很多的根本原因了。

以上文字只是我的个人观点,如果各位看官有不同的观点,欢迎在评论区中讨论留言,如果喜欢我的回答可以给我点赞转发并关注我,我在这里谢谢大家了。


分享到:


相關文章: