Jump to content

Prototype Low FPS Workaround


About This File

TLDR: This will simply disable the appropriate devices in device manager before launching the game then reenable them.

 

Stole the idea from Sylum on steam https://steamcommunity.com/sharedfiles/filedetails/?id=2868404662.

 

The difference being it tells steam to launch the game instead of pointing to the game exe which won't always work.

 

A shortcut is included that launches the script as admin for you as long as it is in the same folder as the script folder. Does not work as a steam shortcut unfortunately but you're welcome to try your luck.

 

now to go over the script.

The first part launches powershell in admin mode.

 

The lines with the # infront of them are related the processoraffinity issues that cause the game to crash when loading. They are disabled as the numbers needed are custom from computer to computer but you can always remove the # if you want to play around with them.

The pnp device related lines are for disabling then reenabling the devices in device manager letting the game start properly.

 

Here is the script in its entirety:


# Self-elevate the script if required

Set-PSDebug -Trace 1

if (-Not ([Security.Principal.WindowsPrincipal] [Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole] 'Administrator')) {
    if ([int](Get-CimInstance -Class Win32_OperatingSystem | Select-Object -ExpandProperty BuildNumber) -ge 6000) {
        $Command = "-File `"" + $MyInvocation.MyCommand.Path + "`" " + $MyInvocation.UnboundArguments
        Start-Process -FilePath PowerShell.exe -Verb RunAs -ArgumentList $Command
        Exit
 }
}

$gamePath = start steam://rungameid/10150

$hidDevices = Get-PnpDevice -FriendlyName 'HID-compliant consumer control device' -status OK

Disable-PnpDevice -Confirm:$false -InstanceId $hidDevices.InstanceId

#$Process = Get-Process steam; $Process.ProcessorAffinity=15

Start-Sleep -s 3

$gamePath | Invoke-Expression

Start-Sleep -s 3

Enable-PnpDevice -Confirm:$false -InstanceId $hidDevices.InstanceId

# $Process = Get-Process steam; $Process.ProcessorAffinity=4095

exit





User Feedback

Recommended Comments

There are no comments to display.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Add a comment...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Found PCGamingWiki useful? Please consider making a Donation or visiting our Patreon.
  • Who's Online   1 Member, 0 Anonymous, 294 Guests (See full list)

  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Member Statistics

    10,526
    Total Members
    3,870
    Most Online
    smith30
    Newest Member
    smith30
    Joined
×
×
  • Create New...