Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- $ErrorActionPreference="Stop"
- # 定数定義
- $MASK = 0xFFF
- # MASKに使用したいスレッドを2進数から16進数に変換した値を入れてください
- # 例 5900X 000000000000111111111111
- # 2進数から16進数変換 FFF
- # 16進数と識別するために0xを先頭につける
- # 0xFFF
- #CPU毎の最適値(推測)
- #5950X 16スレッド選択
- #0xFFFF
- #5900X 12スレッド選択
- #0xFFF
- #3950X 3800X 3700X 8スレッド選択
- #0xFF
- #3900X 3600X 6スレッド選択
- #3F
- $save_process_id = -1
- $isAlreadyRuning = $false
- function timer_function(){
- $process
- try{
- #プロセスが存在するかチェック(雑)
- $process = Get-Process -Name "VRChat"
- }catch{
- #プロセスが存在しない場合
- $script:isAlreadyRuning = $false
- Write-Host "Process not found"
- return
- }
- if($null -ne $process){
- if($script:save_process_id -ne $process.id){
- #プロセスIDが変更された場合は再度スレッド割当を変更する
- $script:isAlreadyRuning = $false
- Write-Host "Process id change"
- }
- if($isAlreadyRuning -eq $false){
- #VRChatが起動したらスレッド割当を変更する
- Write-Host "Process start"
- $script:isAlreadyRuning = $true
- $script:save_process_id = $process.id
- try{
- $process.ProcessorAffinity = $MASK
- Write-Host "Succes AffinityChange"
- }catch{
- #MASKに設定した値が不正の場合
- Write-Host "Error AffinityChange"
- }
- }else{
- #既に変更済みの場合は何もしない
- Write-Host "Process already start"
- }
- }
- }
- #定期実行(いくらなんでも雑杉 後で直す(多分直さない))
- while($True) {
- timer_function
- Start-Sleep 10
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement