Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 26 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,31 @@
# Changelog

## 0.3.1 - 2026-08-11

- Guard the selected frame cap and VSync divisor against later plugin overrides.
- Include live pacing settings and drift count in every frame report.

## 0.3.0 - 2026-08-11

- Capture built-in Unity profiler markers on hitching frames for main-thread stage attribution.

## 0.2.0 - 2026-08-11

- Automatically choose a VSync divisor near the configured frame-rate target.
- Correlate hitches with GC, Studio activity windows and BepInEx/Unity log bursts.

## 0.1.3 - 2026-08-11

- Remove the last legacy-incompatible `System.Type` equality operator call.

## 0.1.2 - 2026-08-11

- Avoid modern reflection comparison operators missing from Koikatu's legacy Mono runtime.

## 0.1.1 - 2026-08-11

- Avoid modern BCL helpers so the plugin starts on Koikatu's legacy Unity Mono runtime.

## 0.1.0 - 2026-08-11

- Initial Studio-only frame pacing, background-load budgeting and hitch diagnostics.
7 changes: 5 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,18 @@

面向 Koikatu CharaStudio 的低风险帧稳定与诊断插件。只在 `CharaStudio.exe` 加载。

## 0.1.0
## 0.3.1

- 使用 1 ms Windows 计时精度改善限帧节奏。
- 将 Studio 进程设为 AboveNormal,减少普通后台程序抢占。
- 降低 Unity 后台资源加载优先级,并限制异步上传的单帧预算。
- 将长暂停后的模拟追帧限制到 100 ms、粒子追帧限制到约 33 ms。
- 默认将 Studio 目标帧率设为 60,不强制修改 VSync。
- 高刷新率且 VSync 开启时自动选择分频,避免 60 FPS 目标被 Unity 忽略后持续跑到约 150 FPS。
- 每两秒校验一次目标帧率和 VSync,仅在后加载插件覆盖设置时恢复,报告中记录漂移次数。
- 每 10 秒输出 `SFS_FRAME`:平均 FPS、1% low、P95 帧时间、卡顿次数、最差帧、GC 卡顿及换人/换动作窗口卡顿。
- 将卡顿进一步分为 GC、场景/动作活动、日志突发和未知主线程停顿。
- 使用 Unity 内置低开销 Recorder 统计脚本 Update、LateUpdate、物理、动画、蒙皮、渲染和等待阶段。
- `F11` 显示或隐藏帧统计浮层。

配置文件首次启动后生成:
Expand All @@ -19,4 +23,3 @@ BepInEx/config/codex.koikatu.studioframestabilizer.cfg
```

所有优化项都可单独关闭。插件不会强制 GC、修改角色数据或改动物理参数。

8 changes: 4 additions & 4 deletions src/StudioFrameStabilizer/StudioFrameStabilizer.csproj
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net472</TargetFramework>
<LangVersion>latest</LangVersion>
<LangVersion>7.3</LangVersion>
<Nullable>disable</Nullable>
<AssemblyName>StudioFrameStabilizer</AssemblyName>
<RootNamespace>StudioFrameStabilizer</RootNamespace>
<Version>0.1.0</Version>
<AssemblyVersion>0.1.0.0</AssemblyVersion>
<FileVersion>0.1.0.0</FileVersion>
<Version>0.3.1</Version>
<AssemblyVersion>0.3.1.0</AssemblyVersion>
<FileVersion>0.3.1.0</FileVersion>
<GameRoot Condition="'$(GameRoot)' == ''">Z:\Koikatu</GameRoot>
</PropertyGroup>
<ItemGroup>
Expand Down
Loading