# POEDOC
**Repository Path**: chentp0601/poedoc
## Basic Information
- **Project Name**: POEDOC
- **Description**: POE Document
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2024-08-30
- **Last Updated**: 2024-09-03
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# 前言
这是马服流放之路的优化文档,如果你的机器卡顿有可能不是机器拉,而是游戏设置不行,游戏优化不行,希望本文能帮助到需要的朋友.
# CPU 优化
## 关闭声音
关闭声音可以有效的降低CPU负载,原理我盲猜一波:音效吃IO,IO高了卡CPU等待时间.
修改方法是:编辑tencent_Config.ini配置文件,
主要修改:channel_count=low,sound_effects_volume2=false
过滤声音最好还是开启不然掉了镜子错过了.
```
C:\Users\Administrator\Documents\My Games\Path of Exile\tencent_Config.ini
[SOUND]
master_volume2=100
ambient_sound_volume2=false
dialogue_sound_volume2=false
sound_effects_volume2=false
music_volume2=false
chat_alert_sound_volume=false
reverb_enabled2=false
item_filter_sound_volume2=100
mute_in_background=false
channel_count=low
disable_char_events=true
```
## 使用内存缓存
imdisk下载地址: https://sourceforge.net/projects/imdisk-toolkit/files/
使用imdisk 将内存映射到硬盘,提高IO效率,从而减少CPU的IO等待时间.
具体操作步骤:
1) 使用imdisk从内存划分4G(具体大小看内存有多少)映射到Z盘
2) 在Z盘新建文件夹Z:/poecache/ 给POE做缓存,这个大家应该有手都会.
3) 配置POE使用内存的缓存文件夹, 在tencent_Config.ini中 加入cache_directory=Z:/poecache/:
```
C:\Users\Administrator\Documents\My Games\Path of Exile\tencent_Config.ini
[GENERAL]
cache_directory=Z:/poecache/
```

## 多核处理器优化
Process Lasso 下载地址: https://bitsum.com/
如果你的CPU资源富裕,可以在游戏中选择开启多线程.
但是流放的多线程优化一言难尽,所以手动使用Process Lasso为流放之路指定亲和CPU核心.
使用方法先全选所有核,进游戏看帧数卡不卡,卡的话,轮流禁用核心,直到不卡为止.

## 腾讯后台进程禁用
不知道腾讯后台在干哈,CPU核IO占用都不高,感觉腾讯的锅其实并不大,不过关掉肯定有提升的.
方法1:通过组策略禁止指定程序运行
运行gpedit.msc,选择用户配置-管理模板-所有设置,不运行指定的windows程序
然后填上如下几个应用,原文好像是在NGA地址也忘了哈哈哈:
```
GameLoader.exe
TP3Helper.exe
TPSvc.exe
TQMCenter_64.exe
TQMCenter.exe
CrossProxy.exe
CrossInstallerExternal64.exe
```



方法2:管理员权限执行后台脚本循环检测进程,然后杀死腾讯的扫盘后台啥的
这是一次性运行的.bat脚本,还有某UP的ps1脚本,大家可以自己改改
```
@ECHO OFF
taskkill /f /im GameLoader.exe* >NUL 2>NUL
taskkill /f /im qbclient.exe* >NUL 2>NUL
taskkill /f /im TenioDL.exe* >NUL 2>NUL
taskkill /f /im TQMCenter.exe* >NUL 2>NUL
taskkill /f /im TQMCenter_64.exe* >NUL 2>NUL
taskkill /f /im GameLoader.exe* >NUL 2>NUL
taskkill /f /im CrossProxy.exe* >NUL 2>NUL
taskkill /f /im wegame.exe* >NUL 2>NUL
taskkill /f /im rail.exe* >NUL 2>NUL
taskkill /f /im tcls_core.exe* >NUL 2>NUL
```
```
#
# Author: tjxgame@outlook.com
# Date: 2023-10-01 18:36:07
# LastEditors: tjxgame
# LastEditTime: 2024-06-15 13:42:08
# FilePath: \undefinedd:\Games\Tools\PoeScript\PoeScript.ps1
# Description: 有帮助的话,给作者扫码赞助点吧。B站年度大会员每个月有免费的5B币,也可以给作者充个电。
#
# Copyright (c) 2023 by tjxwork, All Rights Reserved.
#
# ----- ----- 预留设置变量 ----- -----
# 手动指定 Poe 主进程的路径,例如 "D:\Games\WeGameApps\流放之路\PathOfExile_x64.exe"
$poeProcessPath = "D:\WeGameApps\流放之路\PathOfExile_x64.exe"
# 等待时间,防止过早设置为禁止权限导致无法启动
$waitingTime = 30
# ----- ----- 预留设置变量 ----- -----
# 如果系统提示禁止运行脚本,右键开始菜单Logo,或者组合键 Win+X ,点击 "Windows PowerShell 管理员" 打开窗口,粘贴 Set-ExecutionPolicy RemoteSigned 回车运行即可。
# 窗口风格定义
if ( $Host.PrivateData.GetType().Name -eq "ConsoleColorProxy" ) {
$Host.UI.RawUI.WindowTitle = "PoeScript 国服流放之路优化脚本 v1.3 By tjxgame"
$Host.UI.RawUI.BackgroundColor = "Black"
$Host.UI.RawUI.ForegroundColor = "DarkCyan"
$Host.UI.RawUI.WindowSize = New-Object System.Management.Automation.Host.Size 100, 26
$Host.UI.RawUI.BufferSize = New-Object System.Management.Automation.Host.Size 100, 100
}
# 检查是否以管理员权限运行
if (-not ([Security.Principal.WindowsPrincipal] [Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole] "Administrator")) {
# 不是管理员便创建提权进程
Start-Process -FilePath PowerShell -ArgumentList "-NoProfile -ExecutionPolicy Bypass -File $($MyInvocation.MyCommand.Path)" -Verb RunAs
Exit
}
# 检查 Poe 主进程路径,如果没有手动指定 Poe 主进程的路径,就从注册表获取
if ( -not $poeProcessPath) {
if ( Get-ItemPropertyValue -Path "Registry::HKEY_CURRENT_USER\SOFTWARE\Tencent\流放之路" -Name "setup_x64" -ErrorAction SilentlyContinue) {
$poeProcessPath = Get-ItemPropertyValue -Path "Registry::HKEY_CURRENT_USER\SOFTWARE\Tencent\流放之路" -Name "setup_x64" -ErrorAction SilentlyContinue
}
else {
$poeProcessPath = Get-ItemPropertyValue -Path "Registry::HKEY_CURRENT_USER\SOFTWARE\Tencent\流放之路" -Name "setup" -ErrorAction SilentlyContinue
}
}
$poeProcess = Get-Item -Path $poeProcessPath -ErrorAction SilentlyContinue
# 确认 Poe 主进程路径 的可用性
if (-not $poeProcess) {
Clear-Host
Write-Host "没有获取可用的 PathOfExile_x64.exe 或者 PathOfExile.exe 路径。"
Write-Host "请右键本脚本,点[编辑]。编辑脚本代码顶部的预留变量 `$poeProcessPath = `"`" "
Write-Host "例如:`$poeProcessPath = `"D:\Games\WeGameApps\流放之路\PathOfExile_x64.exe`" "
Start-Sleep 15
exit
}
# 检查 任务计划 中 PoeScriptAuto 是否存在, 存在就删除
if (Get-ScheduledTask -TaskName "PoeScriptAuto" -ErrorAction SilentlyContinue) {
Write-Host "`n发现任务计划中有 PoeScriptAuto 的启动项,可按下方提示删除`n"
Unregister-ScheduledTask -TaskName "PoeScriptAuto" -ErrorAction SilentlyContinue
}
# ----- ----- 以下为功能部分 ----- -----
Clear-Host
# 循环等待处理
while ($true) {
# 获取 Poe 主进程文件 的权限状态
$poeProcessAcl = Get-Acl -Path $poeProcess
$poeProcessAclAllow = -not [bool]($poeProcessAcl.Access | Where-Object { $_.IsInherited -eq $False -and $_.IdentityReference -eq "Everyone" -and $_.AccessControlType -eq "Deny" })
# 获取 Poe 主进程文件 的运行状态
$poeProcessRunning = [bool](Get-Process -Name $poeProcess.BaseName -ErrorAction SilentlyContinue)
# 启动提示
if ( $firstStart -ne $false ) {
Write-Host "觉得好用的话,请考虑赞助支持一下吃不上饭的作者吧!`n"
Write-Host "如果打开游戏时提示拒绝访问,请再次运行脚本,并保持脚本在后台运行,或者直接使用 PoeScriptAuto 版本"
Write-Host "请仔细阅读 使用前必看.txt ,里面有大部分问题的解决方法。以及翻阅视频评论区或在评论区下留言。`n"
Write-Host "迫于吃不上饭,作者接受付费远程处理、包括但不限于:脚本问题、游戏优化问题、电脑配置咨询等问题。"
Write-Host "如无付费远程咨询打算,请勿添加好友。QQ:303470445,添加时请说明来意。`n`n"
Write-Host "$(Get-Date -Format "HH:mm:ss") 脚本已经启动,等待 $($poeProcess.BaseName) 进程中……`n"
$firstStart = $false
}
# Poe 主进程文件 在线 ,并且权限是“允许”,在等待时间后将进程文件权限改为禁止
if ( $poeProcessRunning -and $poeProcessAclAllow ) {
# 状态切换的日志提示
if ($denyStatus -ne $true) {
Write-Host "`n$(Get-Date -Format "HH:mm:ss") 找到在运行的 $($poeProcess.BaseName) 进程,$waitingTime 秒后将文件权限设置为禁止`n"
}
Start-Sleep $waitingTime
Write-Host "$(Get-Date -Format "HH:mm:ss")"
icacls $poeProcess /deny Everyone:F
$denyStatus = $true
}
# Poe 主进程文件 不在线 ,并且权限是“禁止”,在指定秒数后将进程文件权限改为允许
if ( (-not $poeProcessRunning) -and ( -not $poeProcessAclAllow) ) {
# 状态切换的日志提示
if ($denyStatus -ne $false) {
Write-Host "`n$(Get-Date -Format "HH:mm:ss") 没有在运行的 $($poeProcess.BaseName) 进程,且文件权限为禁止,将还原为可执行权限`n"
}
Write-Host "$(Get-Date -Format "HH:mm:ss")"
icacls $poeProcess /grant Everyone:F
$denyStatus = $false
}
# Poe 进程在线情况下,发现后自动杀死 CrossProxy.exe 、CrossInstallerExternal.exe 、CrossInstallerExternal64.exe
if ( $poeProcessRunning -and (Get-Process -Name "CrossProxy" -ErrorAction SilentlyContinue) ) {
Stop-Process -Name "CrossProxy"
Write-Host "`n$(Get-Date -Format "HH:mm:ss") 找到在运行的 CrossProxy.exe 进程,已尝试杀死"
}
if ( $poeProcessRunning -and (Get-Process -Name "CrossInstallerExternal" -ErrorAction SilentlyContinue) ) {
Stop-Process -Name "CrossInstallerExternal"
Write-Host "`n$(Get-Date -Format "HH:mm:ss") 找到在运行的 CrossInstallerExternal.exe 进程,已尝试杀死"
}
if ( $poeProcessRunning -and (Get-Process -Name "CrossInstallerExternal64" -ErrorAction SilentlyContinue) ) {
Stop-Process -Name "CrossInstallerExternal64"
Write-Host "`n$(Get-Date -Format "HH:mm:ss") 找到在运行的 CrossInstallerExternal64.exe 进程,已尝试杀死"
}
# # 修复左键无法点击的问题
# if ( $poeProcessRunning -and (Get-Process -Name "qbclient" -ErrorAction SilentlyContinue) ) {
# Stop-Process -Name "qbclient"
# Write-Host "`n$(Get-Date -Format "HH:mm:ss") 找到在运行的 腾讯浏览服务组件(qbclient.exe) 进程,已尝试杀死"
# }
# 循环为1秒的刷新率
Start-Sleep 1
}
```
# GPU 优化
## 帧率设置
垂直同步关闭,三倍缓冲开启,启用前景帧率锁定为N (这个N要小于等于显示器的帧率,多的帧会被丢弃是性能浪费)

## 屏蔽特效
poelight 下载地址:https://github.com/dotsx/PoeLight
使用poelight移除一些特效,前排警告:可能封号,谨慎使用!
