【问题标题】:Emulate old PC? [closed]模拟旧电脑? [关闭]
【发布时间】:2008-11-12 14:14:20
【问题描述】:

我正在编写一个 Flash 游戏,占用大量 CPU。

除了对它进行了很多优化之外,我希望能够像玩家一样在慢速 PC 上玩它,因为我有一个好的 CPU,我想让它也可以在坏 CPU 上玩

首先我认为虚拟化会有所帮助,但我尝试了带有 ubunto 映像的 vmware 播放器,但在任何地方都找不到如何做到这一点。

买一台旧电脑是not an option,因为我不喜欢只为此而拥有机器。

我需要的是软件降频器,或者我可以为 CPU 和 RAM 指定低规格的虚拟机。

有人知道怎么做吗?

【问题讨论】:

  • 我为 Windows 创建了一个免费的简单工具,允许任何人输入进程 ID 和所需的 CPU 速度百分比,然后它会继续为该进程模拟慢速 CPU。该实用程序本身几乎不消耗 CPU 时间,这是一个好处。 :) 它叫做“Slow CPU Emulator”,在这里查看:github.com/mathusummut/SlowCpuEmulator 预编译的二进制文件可以在这里找到:sourceforge.net/projects/slowcpu

标签: flash optimization virtual-machine emulation


【解决方案1】:

Microsoft Virtual PC 是 VM 软件,可让您确定您创建的每个虚拟机的 CPU 速度、RAM 设置和显卡设置。来自网站:

可配置性 - 安装 Virtual PC 后,您可以对其进行配置以满足您的要求。 Virtual PC 有许多设置来控制产品如何与物理计算机交互、分配资源等等。

我以前用它来模拟具有 128 兆内存的 400 兆赫 PC。

编辑:

Virtual PC 上的虚拟机将比您的主机 PC 慢。我记得在 VPC 2004 中,它甚至会说它正在虚拟化的 mHz 速度是多少。这在 Virtual PC 2007 中不再存在,但一些挖掘表明 Microsoft 人员已经解决了这个问题。

来自他们网站的blog(因为它可能有一天会消失):

嗯 - 也许仿真解决方案更适合您的需求。或者,也许您需要投资一些较旧的硬件。或者 - 您可以在虚拟机内部使用“减速”软件。我使用的一些成功程度不同的程序包括:

关于这个话题的最后一个评论 - 有些人注意到一些已知会在快速硬件上崩溃的旧 DOS 程序实际上在 Virtual PC / Virtual Server 内完美运行。原因是很久以前在 Virtual PC 开发中,我们放入了一些代码来检测一些常见 DOS 库中的有问题的例程(查看此作为示例参考)并“即时”修补这些二进制文件,以便它们会在虚拟机中正确运行。

希望对你有帮助。

【讨论】:

  • “签出此作为示例参考”没有链接
【解决方案2】:

购买另一台旧电脑。

旧电脑太便宜了,一个旧盒子的成本应该比你弄清楚如何做到这一点所花费的时间便宜很多。

【讨论】:

  • 这不是一个好的答案,尤其是当解决方案如下时。 Microsoft Virtual PC 已经做到了这一点,并且比购买旧 PC 便宜得多(阅读:免费)。与购买和设置旧 PC 相比,设置 VM 所需的时间也明显减少。
  • 这个答案根本没有帮助。 OP 明确表示他正在寻找软件解决方案。
  • 如果他们只需要一个测试环境,这个答案是可以的。 VM 解决方案更好,因为他们可以使用它来测试许多不同的配置。
  • 乔治;在大多数情况下,虚拟 PC 更好。我什至投了赞成票。然而,直到我写完这篇文章半小时后才发布。抢;我相信他说的是“软件之类的东西”...我相信购买旧 PC 在此列表中占有明确的位置,并且可能对每个人都不是显而易见的。
  • +1。 CPU 时钟速度并不是创造高速计算机的唯一因素。更快更多的内存、更快和更大的总线、更快的磁盘访问和更大的缓存……所有这些都在评估硬件上运行的软件的性能方面发挥着作用。这就是为什么 QA 部门不仅仅依赖虚拟选项...
【解决方案3】:

有一些 CPU 节流实用程序可以减慢 CPU 的速度,但不完全确定它们有多大帮助。 Heres a link 是我刚刚通过快速 google 找到的。

【讨论】:

    【解决方案4】:

    您可以尝试使用 CPU Killer

    http://www.cpukiller.com/

    【讨论】:

      【解决方案5】:

      现代“虚拟 PC”软件依赖于主机 CPU 中的虚拟化支持功能,并且虚拟机具有与主机相同的指令集。所以程序是直接执行的,当主机需要在幕后做一些事情来维持虚拟化时,“陷阱”会停止执行。这对你没有帮助。

      如果您使用的是 Linux,您可以尝试在 Valgrind 中运行该程序,这在大多数情况下会降低 10 倍的速度。 :) 虽然这不是设计使然,所以它不是一个长期的解决方案。

      【讨论】:

        【解决方案6】:

        我使用了一个名为 CPU Killer 的程序来在我的现代电脑上玩敌人后方的突击队。该游戏的速度与您的计算机速度成正比。它是为 200mhz 设计的,因此在没有 cpu-killer 的情况下在 3GHz 上运行它是不可能的。 :D

        【讨论】:

          【解决方案7】:

          使用计时器将您的程序调节到固定帧速率。这样您就可以将不需要的 CPU 时间返回给操作系统。无论如何,人眼不能比 25 fps 做得更好。设置 50/60 fps 的固定帧速率对于 Flash 游戏来说应该绰绰有余了。

          【讨论】:

            【解决方案8】:

            DOSBOX 模拟旧 PC。它旨在玩旧的PC游戏。其中一些游戏不能运行得太快,而且通常根本无法在现代硬件上运行。

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多