有没有什么办法可以让老式 Itronix GD8000 笔记本电脑发挥出更高的性能?

有没有什么办法可以让老式 Itronix GD8000 笔记本电脑发挥出更高的性能?

简短的问题:

我正在尝试使用Itronix GD8000笔记本电脑的 8G RAM 中有 4GB 分配给 Windows 10 主机下的 Mint 17.2 客户操作系统,用于开源 Django 开发环境,但这种设置的性能似乎很慢。我可以做些什么来从这个设置中榨取更多的性能,以便我可以更好地将其用作日常开发环境。

较长的问题:

当我把所有东西都安装好并摆放到位后Itronix GD8000我将笔记本电脑的 8G RAM 中的 4G 分配给 Windows 10 主机下的 Mint 17.2 客户操作系统,然后开始工作,并慢慢意识到我出色的开发环境陷入了多大的困境。它陷入了困境,让我从原本希望使用笔记本电脑在后院进行开源软件开发,变成了呆在室内使用我的台式 Mac 设置。

我试图对我的JSX源代码是 Django 应用程序的源代码,我忽略了切换窗口以及让 Vim 注册按键时的数秒延迟,并且网页加载(由 Django 开发服务器提供服务)似乎总是需要很长时间。即使考虑到硬盘很旧而且速度很慢,我也不明白为什么需要 5 秒以上的时间才能alt+ tab

现在,如果问题出在虚拟化上,我可以通过运行 Cygwin 来更接近 Windows;我也不知道是否存在一些 VMware Player 与 Workstation 的问题。但在我尝试从 MacBook Pro 迁移到 Itronix GD8000 的过程中,性能很容易就比应有的低了一个数量级。我通常会考虑它不断交换的可能性,但没有特别大的硬盘噪音,我所做的事情不应该占用任何资源,而且我记得的某些旧的交换东西也不存在。

几年前,当我在 Debian 机器上跨过磁盘交换的门槛,并切换到一个将我置于交换领域的工作区时,出现或消失的窗口会根据背景慢慢地绘制或取消绘制,逐条条纹出现或消失。这与交换一样慢,但任何效果在延迟之后都是突然的。这包括在窗口之间切换、加载新的浏览器窗口、从编辑器以终端窗口的形式获得响应等等。

所以,综上所述,我可以在软件或硬件方面做些什么,以便我的 Itronix GD8000 能够在响应不是特别苛刻的开发活动时表现出正常的性能行为?

  • 我是否应该进行某种软件调整?
  • 我应该交换客人和主人吗?
  • 有什么办法可以让 Windows 10 和 Linux Mint 17.2 更加节省资源吗?
  • 我是否应该尝试一些我还没想到的事情?

我确信如果我花 1,000 美元购买一块 256G 的 SSD,我的性能会有所提升,但这只是财务上的考虑。

答案1

简短答案

这是你的图形处理器。我知道这听起来很大胆,但对我来说显而易见,之前在类似的老旧系统上也遇到过类似的问题。你无法升级图形处理器,因此你需要“降级”软件,这样它就不会使用这种图形密集型方法来渲染桌面,两个都在 Windows (主机) 端和 Linux (客户机) 端。具体方法值得一问,但我建议您先谷歌搜索“禁用 dwm Windows 10”和“禁用合成 Linux Mint”。


长答案

术语

  • 图形处理器:图形处理单元。基本上,这是一种特殊的集成电路,其设计经过优化,可以对图形数据执行高效的操作。GPU 执行大多数图形计算所需的晶体管数量和功率低于中央处理器 (CPU),因为令人尴尬的平行图形数据的设计,这反映在 GPU 的设计中,因为它们具有许多极其简单的处理核心。你的 CPU 可能有 2 个或 4 个核心,但 GPU 可以有由更简单、功能更少的内核组成,可以执行同样的数学一次处理大量数据在极短的时间内。这种设计与 CPU 不同,因为 CPU 的设计目的是执行许多不同类型的操作(不一定都是相同的操作)在不同的数据上。

  • 政府间伙伴关系:集成图形处理器。有时简称为 iGPU。现代 IGP 直接内置于 CPU 封装中,有时内置于 CPU 芯片本身。较旧的 IGP 内置于主板中并与 CPU 紧密交互。IGP 比同代 dGPU 慢,但它们可以很好地运行大多数同时代软件(游戏除外)。直到最近,最高端的 iGPU 才开始支持专用视频 RAM (VRAM),但即使它们也依赖于主要依靠系统 RAM 来存储数据。较旧或低端的 iGPU 则依靠在系统 RAM 上。

  • 独立显卡:独立图形处理单元。它们与 IGP 不同,因为它们有自己的专用 PCI Express 通道,并且从未内置在 CPU 中。它们有时可能会焊接到主板上,但在所有情况下,dGPU 还具有可随时访问的专用 VRAM,这比让 GPU 像 iGPU 一样依赖系统 RAM 要快得多。

  • OpenGL:图形应用程序编程接口 (API),随着 GPU 的复杂程度逐年提高,它随着时间的推移不断发展,以支持 GPU 上的新功能。这就是您需要了解的全部内容。从广义上讲,OpenGL 主要版本 1、2、3 和 4 大致描述了不断发展的 GPU 的各个“行业代”,这些 GPU 最初是只能执行非常特定操作的“固定功能”设备,而现在(在 OpenGL 4.x 时代)已完全可编程并能够进行通用计算 (GPGPU)。

  • 波分复用:Windows 显示驱动程序模型。Microsoft 的低级图形 API 和设备驱动程序框架,构成图形硬件和 Windows 操作系统之间的低级接口和硬件抽象(如果客户机运行 Windows,则包括在 VMware 客户机中)。非常旧的 GPU 被视为“WDDM 之前”,因为它们的硬件不支持 Windows 在该硬件下运行 WDDM 1.0 设备驱动程序的基本要求。较旧的 GPU 支持 WDDM 1.0、1.1 或 1.2,具体取决于它们的使用年限,而 Windows 10 上的最新 GPU 支持 WDDM 2.0。较新版本的 WDDM 具有更好的整体性能、更好的任务调度(跨进程共享 GPU 资源)和更低的功耗。

  • vmwgfx:VMware 在其 Player 和 Workstation 产品中提供的一种图形架构(至少在过去的几个版本中),它通过直接渲染管理器 (DRM) 和 OpenGL(在 Linux 客户机上)或 WDDM/OpenGL/Direct3D(在 Windows 客户机上)向客户操作系统公开物理 GPU 的功能。

  • EPT:扩展页表。英特尔处理器的指令集附加功能从尼黑勒姆微架构,即紧接在“Core 2 Duo”处理器使用的“Core”微架构之后的微架构。您可以通过“Core i7 920”等名称识别 Nehalem 部件。与不使用 EPT 相比,EPT 可将虚拟机性能全面提高 50% - 100%(大致)。如果 EPT 可用,VMware 将充分利用它,但如果不可用,则将回退到较慢的内存管理方法。

  • 合成窗口管理器:也称为合成器。一个通用术语,指现代桌面环境的一个组件,它使用 3D 图形堆栈(最终,人们希望它由现代 GPU 等 3D 图形硬件支持)来执行桌面图形界面及其上所有内容的基本渲染。合成窗口管理器自 2000 年代中期就已出现,但它们成为了默认窗口管理器(有时即使无法初始化 GPU 硬件驱动程序,也会始终启用,通过模拟渲染(慢慢地) 在软件方面)大约在 2011 年左右,根据操作系统的不同,可能相差几年。现代 GNU/Linux 桌面,如 GNOME Shell总是进行合成,即使它是在 CPU 上(也称为“在软件中”,以区别于“在(GPU)硬件中”)。相比之下,Red Hat Enterprise Linux 5.x 和 Windows XP 等操作系统却没有不是默认使用合成窗口管理器。

原始数字 - 太慢了,吉姆!

第一的,点击这里将您的图形芯片组(通常称为“945GM”、“GM945”或“4500MHD”)与最新一代中档英特尔 IGP 和 Nvidia 专用 GPU 进行比较。查看 G3D 基准测试的数字,然后花点时间仔细思考。4500MHD 的得分为5. 与英特尔 HD 5500 相比,后者得分高出100多倍。按照今天的标准,HD 5500 是一款相当弱的 GPU。

你的硬件及其不能做的事情

(根据您给我看的评论链接中的信息)

  • 您的处理器是 Core 2 Duo。这意味着以下陈述是正确的:
    • 您的 CPU 不支持 EPT。
    • 由于你运行的是 Core 2 Duo,这意味着你的主板只能插上来自Nehalem 一代 CPU。这些 CPU 对于您描述的简单开发任务来说,其 CPU 性能仍然合理,但它们肯定不是就其显卡的功能而言,这是合理的。但是您无法升级到较新的 IGP,因为您无法插入较新的处理器。您可以尝试用新一代主板替换主板,但这不太可能适合机箱并清晰地映射到所有端口、连接到显示器和键盘等。基本上不值得付出努力,即使您成功了,也会非常昂贵。
  • 您的显卡芯片组是名为 Intel GMA 4500MHD 的 IGP,它既古老的甚至在当时也非常慢。它甚至不能被认为是 3d 加速器,并且某些操作的速度比有史以来的一些第一批 3d 加速器还要慢...!现在,IGP 通常慢的但现代 IGP 却很多比这个更快。
  • 您在 VMware 上的虚拟机中运行 Windows 10(现代操作系统)和 Mint 17.2(另一个现代操作系统)。这意味着以下陈述是正确的:
    • 您的原生 Windows 10 环境可能如果幸运的话,它支持 WDDM 1.0。或者它甚至可能处于软件回退模式!不过,通过运行dxdiag和检查设备管理器,还是值得一看的。如果您根本没有任何硬件加速图形,那么无论是在本机 Windows 端还是在客户机内部,都会遇到很多麻烦。这与 Direct3D 不同(并且级别较低),所以这与游戏无关。
    • 您的 VMware Player/Workstation 副本可能正在尝试使用名为 的虚拟图形驱动程序vmwgfx。但是,vmwgfx只有出色地当你使用现代的图形芯片组(大致说来是过去 4 年左右的)支持主机端的许多最新 OpenGL 功能。我怀疑您的 Windows 10 硬件对 OpenGL 的支持非常少,甚至没有,即使在 Vista 等较旧的操作系统上,您可能也无法获得很好的 OpenGL 支持,因为这个芯片组太旧了。可能最多是 OpenGL 2.1 或 3.1。作为参考,我们已升级到 OpenGL 4.5。
    • Windows 10 和 Linux Mint 客户机同时运行某种合成器。Windows 10 通过其Desktop Window Manager( dwm.exe) 实现此操作,而 Linux Mint 通过其合成管理器(具体取决于您安装的方式以及您使用的桌面管理器)实现此操作。这在现代、功能强大的 GPU 上运行良好,但可能会杀害就 GPU 对硬件的要求而言。或者或者(我不确定哪种情况是正确的,因为我看不到你的计算机内部,而且我需要来回多次才能告诉你运行命令,这样我才能找出答案),你的 Linux Mint 安装可能根本没有使用硬件加速,实际上正在执行图形绘制命令应该通常通过硬件加速(通过合成管理器)在软件中,在 CPU 上。现在,如果您的 CPU 是当前一代的 Core i7 4790K 或类似产品,它可能有足够的马力来简单地“处理”这些图形操作,即使它们完全在软件中运行,您也几乎不会注意到。但就您而言,在软件中运行合成器将需要您一直经历的那种 5 秒延迟。

您可能没有主动感知或意识到这一点,但 Windows 10 和 Linux Mint 开箱即用,除非您以不同的方式配置它们,否则无论您执行最简单的操作,都会应用非常微妙且并不总是明显的图形效果。例如,文本是抗锯齿的;窗口边框上有阴影;有硬件加速(或应该硬件加速的动画,用于最小化、最大化和恢复窗口以及 Alt-Tab 键;等等。这些图形操作实际上需要大量计算才能准确完成,而且只能通过有效率的在现代 GPU 上。

Intel GMA 4500MHD 不是现代 GPU,而且非常,非常甚至在上市当天就已经是低端产品了。

如果您没有内部扩展槽,例如可以放入独立 GPU 的 PCIe 插槽(如果这是真的,我会感到惊讶),那么您将无法在这款笔记本电脑上获得任何更快或更新的图形芯片组,而您只能接受这个事实。

那么,我们该怎么做呢?很简单:

不要运行以下桌面环境要求使用现代、先进、硬件加速的图形芯片组来获得良好的性能。基本上,停止使用运行合成器的桌面,或者弄清楚如何禁用合成器。

具体来说:

  • 在主机端,看看是否有任何方法可以关闭 Windows 10 中的桌面窗口管理器。我知道在 Windows 7 之前这是可能的,但我不知道 Windows 8 或更高版本是否还支持此功能。
  • 在客户机端,安装 Mate(Gnome 2 的一个分支,无需合成器即可正常运行)或 LXDE 等桌面环境,并确保禁用 3d 加速合成。禁用合成的方法将特定于 DE,因此您必须谷歌搜索。这取决于您正在运行的窗口管理器,以及窗口管理器是否依赖于单独的合成管理器(例如 compiz)或进行自己的合成(例如 KDE plasma 或 GNOME Shell)。GNOME 3 和 Cinnamon 都附带合成管理器,即使您的客户机中根本没有任何 3d 图形支持,它也会回退到 CPU 驱动的 OpenGL 渲染器,根本没有硬件加速。

也有可能您甚至没有vmwgfx在客户机中使用,因为它没有安装,在这种情况下,只需编译它并在图形堆栈(mesa、Xorg DDX 等)中启用它,就可以允许合成窗口管理器通过 VMware 利用您的图形硬件来提高性能。同样,要确定这一点,我必须更仔细地查看您的配置。但是,我相信(如果我错了,有人可以纠正我)Linux Mint应该将完全开源vmwgfx作为其开源图形堆栈的一部分发布,这意味着如果您的 VMware 虚拟机管理程序可以从主机端启用 3D 加速(意味着:支持的 GPU、主机端支持的 3D 堆栈等),然后您将在客户机中启用 vmwgfx。

但是,根据我vwmgfx在 VMware Workstation 12 Pro(VMware Workstation 的最新版本)上使用类似配置的经验,该配置基于 Sandy Bridge 处理器(两代更新比你拥有的要多,并且支持扩展页表和很多更强大的 IGP),我可以告诉你,即使vmwgfx功能齐全并启用,与“本机”性能相比,它在 IGP 上仍然相当慢。等待 a​​lt-tab 的时间比 5 秒要快,但仍然明显比直接在主机上工作慢。

概括:你的硬件已经老旧了,尤其你的图形处理单元,也就是英特尔 IGP,2007。Windows 10 和 Linux Mint 17.2 都是现代操作系统,其桌面环境开箱即用,假设很多更强大的图形处理器(就功能集而言,性能)比您计算机中的性能要高。以下两种情况之一正在发生:要么它试图使用您的 IGP,要么它太慢了或者它甚至无法尝试使用你的 IGP,因为它的功能集缺乏(或由于软件配置不好),所以它会把所有繁重的渲染任务都交给 CPU,这是极其糟糕地慢的。

除非你运行一个不依赖于现代 3D 渲染功能的旧桌面环境,否则主机客户端,您将无法获得可接受的性能。而罪魁祸首是图形芯片,不是CPU、RAM 或磁盘。8 GB 的 RAM 实际上绰绰有余,而为客户机分配 4 GB 的 RAM 则非常棒。如果您有那么多 RAM 和 2011 年或更新的现代 IGP,您将获得很棒的体验。

如果以上有关 IGP 的讨论让vmwgfx您感到困惑,请记住这句古老的格言:旧硬件最适合在旧软件上运行。如果你无法避免运行旧硬件,那么你最好在其上运行旧软件。对于 GPU 来说,情况比你想象的更加真实,因为在过去十年或更长时间里,GPU 的性能逐年翻了一番(有些年份的增长速度甚至更快,但在过去的 2-3 年里,速度有所放缓)。

当然,您不必在 VMware 中安装 Windows XP 和已有 8 年历史的 Linux 发行版即可获得可接受的性能。应该在相当现代的操作系统上,只需告诉它禁用所有加速图形“效果”和合成,这将大大提高旧 GPU 的性能。

答案2

您需要诊断瓶颈的原因,这是解决问题的第一步。我不确定在 Windows 中如何做到这一点,但我相信这个网站上有很多信息。

在虚拟机客户端中执行此操作有一些优势,但您最初的努力可能应该集中在主机上。

一般来说,您需要了解哪些资源受到限制。在 Linux 下,您可以使用 top、iotop、vmstat 来为您提供指示。虽然我知道您怀疑不是这样,但我仍然怀疑您正面临交换问题 - 在这种情况下,需要修复该问题 - 您可以通过使主机更节俭地使用或更改 Linux VM 主机中的交换性来做到这一点。

另一件需要考虑的事情是该系统已经过时了。根据您的链接,该机器的规格显示 CPU 是 2008 年的 - 从那时起事情已经发生了很大变化。

答案3

不,这不是图形处理器- 它足够强大,可以绘制桌面环境,甚至可以运行一些较旧的游戏。很明显,你使用虚拟化是罪魁祸首。

您必须决定将您的 Django Web 开发转移到 Windows(这并不是特别困难)或者只是安装轻量级的 Linux 发行版,如带有 LXDE 的 Lubuntu 或 Arch Linux。

到那时,您的问题就基本消失了。

相关内容