Snap.Hutao.Service.Game.Unlocker 1.1.0

dotnet add package Snap.Hutao.Service.Game.Unlocker --version 1.1.0
NuGet\Install-Package Snap.Hutao.Service.Game.Unlocker -Version 1.1.0
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Snap.Hutao.Service.Game.Unlocker" Version="1.1.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Snap.Hutao.Service.Game.Unlocker --version 1.1.0
#r "nuget: Snap.Hutao.Service.Game.Unlocker, 1.1.0"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install Snap.Hutao.Service.Game.Unlocker as a Cake Addin
#addin nuget:?package=Snap.Hutao.Service.Game.Unlocker&version=1.1.0

// Install Snap.Hutao.Service.Game.Unlocker as a Cake Tool
#tool nuget:?package=Snap.Hutao.Service.Game.Unlocker&version=1.1.0

Unlocker

Genshin Impact FPS Unlocker.

Warning

For study usage only!!!

Usage

Unlock the FPS settings (V-sync needs to be manually turn off by user.)

// Get a game process.
Process gameProcess = new(...);

// use the process
GameFpsUnlocker unlocker = new(gameProcess, 144);

// Start the game process.
gameProcess.Start();

// prepare the arguments.
TimeSpan find = TimeSpan.FromMilliseconds(100);
TimeSpan limit = TimeSpan.FromMilliseconds(10000);
TimeSpan adjust = TimeSpan.FromMilliseconds(2000);

// unlock fps and wait for the process exit.
// Exception will throw immediately when occurs.

try
{
    await unlocker.UnlockAsync(find, limit, adjust);
}
catch(Exception ex)
{
    // Handle exception here.
}

Adjust FPS dynamically.

// Set this property on other thread.
// FPS will be adjusted next loop
unlocker.TargetFPS = 120;

Implementation Detail

The unlocker runs a loop internally to keep track with the FPS memory location for the UnityPlayer.dll.
Which deal a bit performance impact for the user.

So adjust operation is not recommand to set too frequently.

Product Compatible and additional computed target framework versions.
.NET net7.0 is compatible.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • net7.0

    • No dependencies.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories (1)

Showing the top 1 popular GitHub repositories that depend on Snap.Hutao.Service.Game.Unlocker:

Repository Stars
DawnFz/Genshin.Launcher.Plus
[原神启动器Plus] lightweight globalized Genshin Impact launcher. Support arbitrarily resolution ratio, account switching, client convertion, FPS unlocking and more!
Version Downloads Last updated
1.1.0 221 5/29/2023
1.0.0 452 10/5/2022