ian*_*215 4 performance display gpu lag minecraft
我刚刚构建了一台全新的计算机,但在玩 Minecraft 时遇到了问题。
新计算机是 Inel i7 3820K,具有 32GB 内存和 3 个 WD Black 1TB 驱动器,采用 RAID 0,使用英特尔矩阵存储。显卡是Nvidia GTX 560,1024M或VRAM,eVGA制造。
无论如何,我遇到的问题是,当我靠近地图上的朋友基地时(是的,这是在服务器上),我的角色/相机几乎无法播放。它变得非常断断续续,命令和动作被延迟。起初我以为这可能只是网络连接,但是当我离开他的基地时,一切又开始加速了。
诚然,他确实有很多复杂的机器和其他装置在一个非常小的区域内运行,我认为可能只是发生了太多事情而我的计算机的 wifi 窒息,但我认为情况并非如此。我朋友的互联网比我差很多,他在安提瓜打球没有问题,而我在俄亥俄州。
唯一能想到的可能是我的显示器导致了问题,我从 19 英寸 acer 显示器换成了 30 英寸戴尔 UltraSharp。是不是地图某些区域的复杂程度与我运行游戏的分辨率相结合,使我的 GPU 负担过重并导致我滞后?
这真的很烦人,我想弄清楚这个问题,但是在以前的计算机出现这么多问题之后,我对这个问题感到很困惑。我将尝试一些其他游戏,如 Skyrim 或 Deus Ex: HR,看看我是否遇到同样的问题。
我没有阅读你的大部分问题,但标题问题的答案是yes,因为“大小”是指“屏幕分辨率”(以像素为单位)。
每个像素都必须以某种方式单独处理......并且使用复杂的 3d 渲染程序,每个像素通常必须重新计算和重新处理多次,因为应用了各种效果:阴影、几何着色器、照明、屏幕空间环境遮挡、剔除、抗锯齿等。这些操作中的每一个都必须有效地查看大量像素(或者实际上,屏幕上的每个像素)并修改其颜色元素(无论它们是红色/绿色/蓝色还是其他一些排列)。
如果宽度和高度分量对称增加,则屏幕上的像素数呈二次增加。因此,要使用简单的数字(这些不是常用的实际分辨率):如果您有一个 500x500 的屏幕并且您升级到一个 1000x1000 的屏幕,那么您不仅拥有两倍的像素 - 您拥有的像素数量原来有,四次. 所以 500 * 500(乘法)是 250,000;1000*1000 是 1,000,000。如果我们把它带到它的逻辑极限并查看像,哦,我不知道,32000x24000 这样的分辨率,老实说,我不知道是否有任何现有的图形硬件可以以如此高的分辨率以可观的帧速率玩现代游戏。数字看起来并不大,但是当您将 32000 乘以 24000 时,您会遇到很多复杂性,并且需要处理大量数据。数额巨大!
显示器的物理尺寸并不重要。屏幕分辨率(像素数)直接影响性能,因为更多的数据(更多像素)意味着在渲染的每个阶段进行更多的处理。
我首先要说这些都是非常好的答案,但我想花时间亲自看看我可以在我自己的两个大屏幕上生成什么样的数字。
由于至少有一个答案提到了 GPU 的内存,而 OP 提到了具有许多对象的场景,因此我将测量不同级别的 VRAM 消耗,并且由于另一个提到的分辨率,我将在一个屏幕上进行全屏渲染,并将这些数字与进行全屏渲染进行比较在两个屏幕上。这可以被认为是分辨率更高的更大显示器,因为屏幕空间是两倍。我还会做一个两个镜像的小例子,模拟更大的屏幕空间,同时保持相同的分辨率。
使用比较数字,我可以展示显卡的税费。
对于第一次测试,我们将坐在一个空闲的启用 Windows 7 Aero 的桌面上。我没有在 Minecraft 之外测量 FPS 的实用程序。
-- 此测试表明 2x 显示器并不意味着 2x VRAM 使用率,因此可以预期开销比帧缓冲要多得多,而且值得注意的是,在高分辨率模式下,一台显示器使用了约 77% 的两个的内存,在低分辨率模式下,一个显示器使用两个显示器的约 93%,进一步体现了开销成本。- 这意味着@Huskehn 给出的答案具有误导性,因为仅靠更高的分辨率不会对 VRAM 使用产生实际影响。
此测试使用 VLC 执行全屏蓝光播放(Talladega Nights,为后代)。我没有在 Minecraft 之外测量 FPS 的实用程序。
-- 在这个测试中没什么好说的,除了 VRAM 使用率一直稳定,直到我只改变播放速度——当设置为常规速度时,内存使用率回落到正常,这表明帧缓冲区已经增加。另一点要说明的是,两个视频都没有变得断断续续或看起来很慢,这表明非 3D 应用程序是微不足道的。
在这个测试中,我将使用 VirtualBox v4.1.18 在我的第二台显示器上全屏打开 32 位 Windows XP 虚拟机。VM 获得了 128 MB 的视频内存(后来的测试似乎不一定证明 VM 只能使用这么多),并且启用了 2D 和 3D 加速。
我跳过了一些模式,因为其他测试似乎表明可以观察到可预测的差异。
-- 没测屏幕是@1080的时候,或者VM的分辨率内部改成@800的时候是否有不同的消耗
玩我的世界!
这个有很多信息,可能是@Solignis 最重要的部分。
首先,由于 Windows 处理全屏应用程序的方式,我无法同时以最大大小运行两个 MC 客户端,因此我在前面提到的 VM 中运行另一个并测量结果。我弟弟和我一直这样并肩玩,我们玩从来没有任何问题!其次,我在后台运行了一个 Minecraft 服务器,这样两个客户端都可以渲染相同的世界和几乎相同的视图。我运行了两个客户端,将两个玩家传送到同一个位置,朝同一个方向看他们,然后关闭客户端以刷新之前渲染的任何内容,然后将它们重新启动并且没有移动它们。我首先启动了服务器,并注意到 VRAM 从 156 MB 变为 168 MB。在第一次与两个客户端断开连接后,我注意到现在有稳定的 230 MB 正在使用。
MC 图形设置如下:“花式”、平滑闪电开启、3D 立体图关闭、GUI 比例自动、粒子全部、渲染远、性能最大、浮动开启、adv。OGL 关闭,云开启。而主机客户端可以使用 adv 运行。OGL ON 超过 280 fps,这会导致 VM 爬行。我相信这是因为目前对 VirtualBox 上较新的 OGL 实现的支持有限。FPS 取自 MC 的“F3”统计数据。
除非另有说明,所有测试均以 1920x1080 记录。
-- 注意 MC 缓存很多,不同的场景会导致不同数量的 VRAM 使用,所以虽然我选择了一个复杂的场景,有很多火和很多活塞移动,这仍然是一个接近“最佳情况”的场景,因为环顾四周导致更多的东西被获取、缓存,尤其是重绘,因为整个屏幕都在变化,而不仅仅是几个部分。然而,这并不是说 MC 在需要时不会清除其缓存。您可以看到 VRAM 随着远处块的渲染而稳步增加,并且与主机系统相比,VM 加载块所花费的时间存在巨大差异。加载块后帧率的恢复表明,至少对于 Minecraft 而言,在获取事物时损失的 FPS 比实际显示的要多。最后的测试表明,' 此设置的 MultiplayerChunkCache' 为 961,然后它开始交换内容,但这并没有阻止 VRAM 上升。这种缓存也可以解释为什么当客户端仍在运行时切换到较小的分辨率后 VRAM 没有显着下降。
- 关于@Diogo 建议的与性能相关的像素数量,前几次运行表明像素数量的两倍/一半并不等于性能的两倍/一半。使用 FPS 作为性能的衡量标准,通过将像素数量减少一半只获得了大约 10%,因为第二个屏幕没有渲染任何困难。然后我镜像了我的显示器,VRAM 的使用没有改变,FPS 发生了轻微的变化。在主机和虚拟机上同时运行客户端的测试中,主机或虚拟机的 Minecraft 的 FPS 均未下降 50%,但仅下降了约 25%,尽管两者均采用先进的全屏渲染,因此像素数在性能方面并不是一个真正有用的标识符。
嗯……我能得到多高的显存?!
在我的 Minecraft 中的 VM 和主机客户端上的服务器上徘徊了几分钟后,当事情开始变得艰难时,我最终达到了 1685 MB 的使用量。又过了几分钟,我能够达到 1869 MB,然后它就不会让步了。即使到处都是活塞,我周围到处都是火热的地狱。即使在如此高的内存使用率之后,游戏在主机和虚拟机上仍然 100% 可玩;分别为~233 和~52 FPS。我已经做到了。我点击了 Minecraft。两次。在同一台机器上!
然后我开始了天际。当我最小化主机的 MC 客户端时,我的 VRAM 仅下降到 1837 MB。
在天际的土地之外,我能够获得总共 2636 MB 的使用量,而 VM 的 Minecraft 仍处于约 50 FPS。我没有测量 Skyrim 的 FPS,但它显然很高。
对没有达到峰值感到恼火,然后我将 Skyrim 最小化,降至 2617 MB,并打开使用 DX 11 的文明 5。一旦加载,我的 VRAM 飙升至 2884 MB,并提示我 Windows“你的计算机内存不足...”指向Java进程(服务器或客户端)的窗口,但是我的系统RAM只有16个中的9.77 GB。我加载了我保存的游戏,它已经完成了!我达到了 3072 MB 的最大值!我的第二个屏幕一片空白,我的第一个屏幕开始猛烈闪烁,并且分辨率降低。由于担心我的卡,我迅速关闭了我的电脑,但在看到一些关于“0x00 处未引用内存......”的警告对话框之前,两个屏幕上的FPS仍然很高。
如果你已经做到了这一点,那么阅读的荣誉。这是一种说法,但@Solignis 的问题不太可能是基于 GPU 或 CPU,但可能是服务器连接不良或 Java/堆设置不足。@Philippe 和 @libertas 的答案是正确的。
Minecraft 测试本身在 800x600 和 1920x1080 下运行表明,尽管像素增加了 432%,但性能并没有受到如此大的影响。
复制屏幕 Minecraft 测试是一种模拟更大屏幕(两个屏幕组合)的方法,但使用相同分辨率的图像,1920x1080,只是使用更多的屏幕空间。缺少具有相同分辨率的另一个更大的屏幕,这是非常确定的,表明仅尺寸不会显着影响游戏性能。
双 Minecraft 测试表明,渲染更高分辨率的图像(两个屏幕组合)会对性能产生影响,但将图片加倍并不会使性能减半,或使其明显变慢。这意味着您已经在 Minecraft 中体验到缓慢,以便小尺寸增加的微小影响使游戏变得非常缓慢。
最后的测试是一种查看 VRAM 消耗和性能之间是否存在关系的方法,我发现没有关系。好吧,也就是说,直到您达到最大 VRAM - 然后您的性能立即变为 0。无论 GPU 跟踪多少信息,它都不会显着影响帧率。我也已经证明,除非你打算同时玩多个游戏这样荒谬的事情,否则 3 GB 的视频内存在当前一代游戏中绝对没有意义;内存在 GPU 上实际上是一个无用的规格,1-1.5 GB 对任何人来说都绰绰有余。
Minecraft 对于这些测试来说是一个非常好的程序,因为只有一组纹理,而大型游戏通常可以根据运行的分辨率具有不同大小的纹理,这会引入不同的变量来扭曲测试。作为多人游戏是另一个福音,因为我能够可靠地渲染几乎重复的图像。Minecraft 足够轻量级,可以在 VM 中运行这一事实是另一个有用的好处,因此我可以演示极端的边缘情况,拥有两个全屏应用程序,以及最终能够确定 VirtualBox 的“视频内存”设置是否实际限制 VM 可以在其主机 GPU 上使用多少内存。