关于Apex游戏内FPS很高但是转动视角时卡顿的原理以及改善方案 您所在的位置:网站首页 apex数据转移 关于Apex游戏内FPS很高但是转动视角时卡顿的原理以及改善方案

关于Apex游戏内FPS很高但是转动视角时卡顿的原理以及改善方案

2024-06-11 02:19| 来源: 网络整理| 查看: 265

    如果你经常遇到符合标题描述中的现象,并且不是出于PC撞温度墙、开启了NVIDIA或OBS的即时回放、网络丢包等原因,一直保持在相对稳定的帧率,而转视角时会有粘滞和不连贯的体验,在遇到其它玩家时会加剧,并且偶尔会见到下图中的红标,那么笔者的这些心得也许能让你理解并改善这一现象。

心 脏 骤 停

    先说结论:这是重生的服务器导致的,并且没有根治的办法,和你电脑的显卡性能等参数无关,也就是说就算你是4090ti玩Apex,也会遇到这个现象。

    在此之前我们先理解一个概念,就是服务器的Tick数问题,此处引用@百鬼粽的翻译和解释EA官网的公告的专栏《Apex的tick数》作为论据:

The server is running in slow motion.

Everybody loves this one. Our servers are running at 20Hz. This means that they simulate the entire world state once every 50ms (1 second—or 1,000ms—divided by 20).

We don’t speak about FPS (frame per second) when discussing server performance because a server does not display pictures. Instead, a server computes “states” but the underlying principle is the same. It takes user inputs (from the network), runs the physics, sends back the new world state to clients, then repeats. If this process takes more than 50ms consistently, your game will slow down to permit the server to finish the simulation. Thus, you get slow-mo servers.

以慢动作运行的服务器

每个人都喜欢这个我们的服务器运行在20hz。这意味着它们每50ms模拟一次整个世界状态(1秒或1000m-除以20]

我们不谈论fps(每秒帧)当讨论服务器性能时,因为服务器不显示图片,而是服务器计算状态“但基本原理是相同的”。从网络中获取用户输入的运行信息,将新世界状态发送回客户端,然后重复此过程。如果此过程持续花费超过50ms,则您的游戏将减速以等待服务器完成模拟,这样你就会感觉服务器很卡。

画重点:20tick=每50ms重新模拟一次世界,可以理解为每50毫秒计算一次全地图所有人的信息,包括:造成的伤害,位移状态,血量变化等等。

In comparison, this server never met frametime and was mostly running around 200ms frametime (so 4 times slower). Typically a slow-mo server.

相比之下,该服务器从未满足框架时间,并且大多运行在200ms框架时间左右。典型的慢速服务器。

There are a number of things that can cause this, but it’s sometimes linked to machines in the datacenter not performing as they should. Think about an underclocked CPU, overheating, etc. 

When we detect those, we usually remove those machines. This means we literally call up the service provider, point out the problem with the given machine, and ask them to take it offline. 

The real-time detection solution mentioned earlier in this blog should reduce this issue considerably when we roll it out during the upcoming season. We’re heavily invested in solving this issue, so we’re going to keep a close eye on it.

有很多事情可能会导致这种情况,但它有时会链接到数据中心中的机器,因为它们应该考虑时钟不足的cpu,过热等

当我们发现这些,我们通常删除那些机器。这意味着我们直接调用服务提供商,指出给定机器的问题,并要求他们将其脱机。

本博客前面提到的实时检测解决方案将大大减少这个问题,当我们在即将到来的赛季推出它我们在解决这个问题上投入了大量资金,所以我们将密切关注它。

    实际上,Apex的服务器的Tick数长期都是很低的,而有时会更加低。如果你遇到了一些这样的情况:复制器做了东西却没有捡起来,明明已经关门了但是还是被子弹击中了,进入了相位状态还是重伤倒地。这些现象能够帮助你理解服务器Tick数的意义。

    接下来再提一下开头的红色标志

四大天王

    Latency,延迟;Congestion,拥塞;Packet Loss,丢包;Prediction Error,预测错误。延迟和丢包也就是左边两个图标的问题,基本是玩家端导致的,通过开加速器等手段改善网络可有效解决(大家一起炸的时候除外)。而右边两个拥塞和预测错误则是服务器问题导致的,拥塞的官方解释是:This indicates that the server has failed to predict the movement of another player, generally one you’re looking at.这表明服务器无法预测另一个玩家的移动,通常是您正在查看的玩家。

    

    在了解了上述两点之后,笔者通过实验的方式找到了一个有效改善的手段。

    省流版解决方案:

    1.在出现转视角卡顿现象时降低你的鼠标回报率 

    2.并且将游戏画面设置里的NVIDIA Reflex设为“启用”而非“启用+增强”。

    第一点可能会让人有些不解,因为FPS游戏素有检查鼠标回报率是否过低从而导致画面不连贯的说法,但是这个观点对服务器Tick数经常很低的Apex来说其实是不适用的。

    降低鼠标回报率的原理其实是当你的操作输入频率过高时,重生的土豆服务器就无法很好地接受和反馈你的操作。笔者发现这一现象的原因是最近在更换鼠标后出现视角粘滞的现象增加到几乎每一局都有,而笔者新鼠标的回报率是1000,旧的则是500。与笔者经常玩的朋友也提到了一个现象是他在使用手柄时没有这种体验,在最近更换了GPW2鼠标后便出现了这一现象。

    而NVIDIA Reflex则是英伟达的延迟降低技术,作用是降低玩家硬件输入信号反馈到画面上的延迟。你可能会觉得:这样不是挺好。但是其实你开着“启用”或者“关闭”,服务器和操作输入不同步导致的就是均匀的帧数降低和还算跟手的画面,如果你开了“启用+增强”,就会时而丝滑,但是拖动鼠标时(尤其是近距离画面有人时)体感上的帧数就会陡降,这种像是晕车一样的体验,操作会更加不跟手。

    如果你是罗技和雷蛇等自带驱动的鼠标,可以直接在驱动内降低鼠标回报率,如果是其它无法直接修改的鼠标可以通过修改注册表和使用USB mouse rate adjust setup等工具的方式修改。

    笔者现在遇到视角粘滞时就会把鼠标回报率降到125或是500,这样画面虽然流畅性下降,但抽搐感会显著降低,不会让游戏体验变成灾难性的。而对玩家最有效的解决方式其实是:在服务器闲时进行游戏。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有