• 注册
  • 游戏攻略 游戏攻略 关注:1738 内容:62

    【Headless】单设备Headless的方案 – 拯救你的帧数(9.16 已更新双方案)

  • 查看作者
  • 打赏作者
  • 45
  • 游戏攻略
  • 圆转纯熟

    虽然但是还是先科普一下,什么是Headless吧。如果你已经了解了,请往下跳过到下一个加粗放大的标题章节。

    先叠个甲,以下内容中有些涉及我并非完全理解的原理内容,如果有误,欢迎指出,毕竟我也是半瓶子水晃荡。 [s-25] 

    众所周知,塔科夫是个经典的Unity单核瓶颈的游戏,离线版中AI的运算会消耗掉大量的主线程资源,导致显卡渲染的资源被抢占,于是你就得到了一个CPU占用30%显卡占用30%的30帧塔科夫。 [s-29] 

    而塔科夫的AI运算是只需要主机来进行的,也就是谁开房谁来算AI,通过FIKA加入的客机是不需要运算AI的,那么结论很显然了,谁当主机谁是怨种,除了主机卡其他人都不卡。 [s-26] 

    于是最合适的怨种出现了,那就是Headless。首先是Headless的定义,它其实是一个独立的游戏客户端,只不过图形界面被砍掉了以节省性能,本质上它和你平时玩的塔科夫客户端是没有区别的。

    那么它是如何工作的,比如你现在想下一把工厂,平时就是你来开战局,也就是你是主机,那么很显然,AI运算会吃爆你的主线程。而Headless的作用就是它来代替你开启战局,它会先行启动一个工厂的战局,然后自己以观战模式进入战局,此时它就是主机,当它准备就绪后,你再以客机的身份加入它的战局(实际上这部分FIKA会自动帮你完成),于是所有的AI运算都丢给了Headless,你作为客机就可以专心渲染画面了,帧数当然是猛猛提升,再也不用打AI限制

    补丁了,拉满,全拉满! [s-23] 

    简单总结就是,谁主机,谁来计算AI;所以让Headless当主机,你当客机

    效果预览

    【Headless】单设备Headless的方案 – 拯救你的帧数(9.16 已更新双方案)

    未使用Headless(左)VS   使用Headless(右)

    上图是在工厂里简单测试得出的,mod方面打开了SAIN+QuestingBots+LootingBots,并且未做任何限制,AI数量在15~20的样子。未使用Headless时会频繁掉帧,使用Headless后全程显卡占用99%。

    配置方面不用太在意,只要你在玩塔科夫的时候显卡占用不是全程90%以上,那么使用Headless就一定能大幅提升你的帧数,上限不一定能提升很多,但是下限会提升很多,也就是帧数更稳定。 [s-15] 

    【Headless】单设备Headless的方案 – 拯救你的帧数(9.16 已更新双方案)

    未使用Headless(左)VS   使用Headless(右)

    接下来是第二次测试,这次选择在灯塔,Moar预设选择Insanity,基本上全图bot在20~30的样子,并且伴随着大量的交火,挂机了五分钟左右得出的结果。

    不确定上传的图清晰度如何,这里说一下测试结果吧:

    不使用Headless的情况下,平均帧率在53~89,1%Low帧最高只有41,显卡占用率最高只有92%,且几乎维持在70%左右;

    使用Headless的情况下,平均帧率在87~123,1%Low帧最高有99,显卡占用率最高能达到100%,且几乎维持在80%以上。

    最重要的参数就是1%Low帧,基本决定了你整体游戏的流畅度,从这里可以看出来Headless的加成效果非常强大。 [s-13] 

    科普完毕。如果你有第二台设备可以架设Headless,那么可以移步站内的教程贴,按部就班地部署即可。

    随便列举两个教程,没列的只是我没搜到,不代表教程品质。 [s-44] 

    3.11 fika headless 联机教程,mod兼容调试心得。地图bot的ai独立主机,提升客户端帧数

    逃离塔科夫3.11.1系列 Fika 服务器 headless 1.3.1 设置教程 25.3.27

    下面是本贴的重点,如何在单设备的情况下使用Headless

    Headless最适合的场景当然是你有第二台设备,将AI运算全丢过去,它算它的AI,你跑你的渲染,但是并非每个人都有闲置的设备,那么直接使用单设备运行Headless的效果如何呢?答案是约等于没有。因为游戏进程和Headless的游戏进程大概率会抢占到同一个核心,但是内存占用和游戏的基础开销却翻倍了,可能反而变得更卡。那么如何解决呢?

    方案一:

    首先感谢@萌王喵酱提供的思路。

    答案是使用虚拟机来进行分隔。将Headless部署在虚拟机中,这样可以方便地分配游戏进程和Headless进程(也就是虚拟机进程)的CPU亲和性(也就是优先使用哪些核心)了。

    上面的效果预览图就是使用的虚拟机进行的测试,效果和我使用第二台设备架设Headless几乎没有差异。虚拟机分配了8个线程和16GB的内存,即使是疯狂敌人预设的灯塔,也没有出现爆内存的问题,对虚拟机的要求还是比较低的。不过稳定起见还是建议内存多开一些虚拟内存。

    架设虚拟机的教程放在最后吧,其实网上也能随便搜到,架设好虚拟机后再把Headless架设在虚拟机内,然后在主系统中启动服务端和游戏客户端即可。 [s-45] 

    需要注意的是这种方案比较吃硬盘空间和内存,毕竟需要双份的游戏和额外的一个系统。

    方案二:

    存在于理论上。使用进程调控软件,将游戏进程和Headless进程分配于不同的线程。例如你的CPU是8核16线程,那么就可以将前8个线程分配给游戏进程,后8个分配给Headless进程。

    为什么说存在于理论上呢,因为我懒…… [s-1] 

    我用的调控软件是Lasso,它没法分开设置游戏进程和Headless进程,因为这两个都是EscapeFromTarkov.exe,所以改其中一个另一个也会跟着被改。理论上应该有能区分开的调控软件,但是我懒得找了,有大佬实验一下的话欢迎把结果发在评论里。 [s-13] 

    更新:

    哈!打赢复活赛了! [s-25] 

    终于还是找到办法进行了一下测试,方法还不完善,但是测试结果似乎还蛮不错的,容我再研究研究。 [s-26] 

    【Headless】单设备Headless的方案 – 拯救你的帧数(9.16 已更新双方案)

    两次测试都是在本地开了Headless,未使用虚拟机,通过PowerShell的方式强行错开了游戏端和Headless端的CPU亲和性。测试环境依旧是灯塔+Insanity,AI数量在20~30之间。不过目前只能算是临时的测试方案,等我研究出来正式的方案会再更新。 [s-44] 

    【Headless】单设备Headless的方案 – 拯救你的帧数(9.16 已更新双方案)

    再次更新:这次是在灯塔完整地打了一把,帧数浮动大是因为逆天njt的优化,每次开背包会疯狂掉帧一次,从平均帧数和1%Low帧来看,已经算是非常稳定了,实际体验也很丝滑。

    那么方案二也是有了雏形了,具体的工具和教程我会放在下面。

    下面是方案一虚拟机以及方案二调整亲和性的详细教程和相关的工具

    隐藏内容需要付费才可以看见

    马上购买
    圆转纯熟
    2021

    这个有点吊了 不得不期待一手了 [s-7]

    回复
    登堂入室

    困扰许久的问题终于有合适的解决方案了吗,但是本机只有16GB内存,开虚拟机实在捉襟见肘,期待一下方案二的详细教程

  • 活一天算一天预计这两天就会出了 [s-15]
    拉黑 3星期前 电脑端回复
  • 活一天算一天方案二已更新
    拉黑 3星期前 电脑端回复
  • 回复
    炉火纯青

    老电脑行不行啊?

  • 活一天算一天那也得看多老了,你可以开一把游戏,在战局设置里把AI数量设置为0,进去之后看一下帧数,这个就是优化的终点了。
    拉黑 3星期前 电脑端回复
  • 活一天算一天方案二已更新,可以试一试
    拉黑 3星期前 电脑端回复
  • 回复
    登堂入室

    我已经用过了,效果还可以,但就一个问题,我需要Pause插件,但是Headless的情况下,不支持这个插件

  • Lzapplerun跟你情况一样,有事要忙家里事,或者接个电话就很需要局内暂停这个mod。
    拉黑 3星期前 电脑端回复
  • 活一天算一天 @Lzapplerun 我遇到这种情况一般就只能是用Deminvincibility的锁血强行挂机了
    拉黑 3星期前 电脑端回复
  • BikaJMEhentai可以用megamod,有锁血锁吃喝,但是没法解决时间流逝的问题,不延长战局时间就很难受
    拉黑 3星期前 电脑端回复
  • 回复
    初来乍到

    fika是必须的嘛 ,我这里很多模组不支持fika

  • 活一天算一天必须的,只能做取舍了。不用fika的话站内搜一下“boot”,有一个优化贴,可以一定程度上优化性能,但是和Headless比效果差远了
    拉黑 3星期前 电脑端回复
  • 回复
    初窥堂奥
    打赏了5金币
    回复
    初窥堂奥

    立马去试试

    回复
    初窥堂奥

    方案二的神奇妙妙工具并不能分开cpu啊?还是我比较猪鼻操作有问题 [s-5] ,当我运行游戏客户端和headless时,神奇妙妙工具里只能监视到一个主进程,副进程是没办法抓取到的

  • 活一天算一天你是指PowerShell工具只能检测到一个进程吗?
    拉黑 3星期前 电脑端回复
  • BLACK23343 @活一天算一天 是的,我按照流程先开游戏客户端,再开headless,实际上powershell只会检测到headless作为主进程,而副进程是一直在搜索中
    拉黑 3星期前 电脑端回复
  • 活一天算一天 @BLACK23343 看下私信
    拉黑 3星期前 电脑端回复
  • 回复
    略有小成

    13: 接下来点击上面选项卡里的“虚拟机”,选“安装VMWare Tools”,这里我已经安装好了所以显示的是重新安装。

    选项卡是灰色的 安装不了

  • 活一天算一天https://developer.aliyun.com/article/1613322 参考一下这个吧
    拉黑 3星期前 电脑端回复
  • 鱼咩咩我也
    拉黑 2星期前 电脑端回复
  • 回复
    初来乍到

    第二种方法客户端和headless同时开启显示另一个实例正在运行怎么办呀QAQ


  • 活一天算一天系统是win11对吗?
    拉黑 3星期前 电脑端回复
  • cnipcrackerwin10
    拉黑 3星期前 电脑端回复
  • cnipcracker尝试过改塔科夫名称但会闪退
    拉黑 3星期前 电脑端回复
  • 活一天算一天 @cnipcracker 把Headless的游戏文件夹改个名,比如你原本都是"EFT",现在改成一个"EFT"一个"EFT_headless"之类的
    拉黑 3星期前 电脑端回复
  • cnipcracker
    拉黑 3星期前 电脑端回复
  • cnipcracker妙手回春啊大夫
    拉黑 3星期前 电脑端回复
  • cnipcracker额,然后卡在了Waiting for locales to be ready
    拉黑 3星期前 电脑端回复
  • 活一天算一天 @cnipcracker 那就得检查下Headless里的的客户端mod了
    拉黑 3星期前 电脑端回复
  • Astgenne @cnipcracker 如果确定完mod没问题的话可以多等一会,另一边应该是加载特别慢,我这边加载了5分钟多才提示启动战局,测试地图街区
    拉黑 3星期前 电脑端回复
  • cnipcracker啊已经解决了谢谢各位大佬
    拉黑 2星期前 电脑端回复
  • 回复

    请登录之后再进行评论

    登录
    离线版教程
  • 今日 0
  • 内容 1016
  • 关注 1738
  • 聊天
    关注 13

    【招募】GRIFFIN TKF项目开工 期待你的加入 || 你是否想加入格里芬书写自己与人形的故事

  • 签到
  • 任务
  • 发布
  • 模式切换
  • 偏好设置
  • 帖子间隔 侧栏位置: