Game-Optimizer-CPUs-Threads-Optimizer README

The project's README from github.com/charlie754/Game-Optimizer-CPUs-Threads-Optimizer. As one markdown file: README.md.

Game Optimizer

CPU threads optimizer.

Game Optimizer in use

Per-game CPU Set isolation for split-topology CPUs — the isolation of BIOS "Turbo Game Mode", applied only to the game you chose, and only while it is running.

Please turn off

On a dual-CCD AMD part (7950X3D, 7900X3D, 9950X3D) one CCD carries 3D V-Cache and the other clocks higher. Some games run better pinned to the cache CCD with nothing else on it. The existing ways to arrange that — a BIOS game mode, or letting Windows and AMD's driver decide — are session-wide: they cost you half the machine for Discord, OBS, browsers and compilers too.

Game Optimizer applies the isolation to one process tree, keeps the other CCD free for everything else, and clears every mask the moment the game exits.

Runs on: Windows 10 or 11, x64. The manifest declares no older Windows, and there is no 32-bit or ARM build.

Which CPUs this helps

The app works this out for itself. On first run it asks Windows for the machine's core and cache layout, classifies it, and tells you on screen which of the cases below you are in, along with a confidence level and a map of which logical processors are in each group. There is no list of CPU models anywhere in the app — the decision comes from what Windows reports, so nothing here goes stale. Run it and read the first-run screen; that answer is authoritative for your machine and this table is only a guide. The first matching row wins, so a machine reporting more than one core type is classified by core type and never by cache size.

What Windows reports Shown as Masks you get How much it helps
More than one distinct efficiency class Intel hybrid (P/E cores) P-cores, E-cores, All, plus no SMT variants where they differ A real split. Game on P-cores, background apps on E-cores. High confidence
Two or more last-level-cache domains, sizes differ AMD asymmetric cache (X3D) Cache, Freq, Freq 2, …, All A real split. Game on the largest-L3 domain, background apps on the rest. High confidence
Two or more last-level-cache domains, same size Multi-CCD symmetric CCD0, CCD1, …, All A real split, but which domain gets called CCD0 is an ordering choice, not a measurement. Medium confidence — check the core map
Exactly one last-level-cache domain Single cache domain All, and All no SMT if the CPU has SMT Very little. There is no second group to move background work onto
No cache domains reported at all Unknown the same as a single domain Very little, and the first-run screen says so

Most CPUs are a single cache domain, and on those this app can only give the game one thread per physical core. That is the whole of it — no isolated cores, no background separation. If the CPU has no SMT either, All no SMT is not offered at all, both defaults fall back to All — every processor — and the app changes nothing on that machine.

The multi-domain cases are the ones worth installing for: parts such as AMD's dual-chiplet X3D desktop processors, where 3D V-Cache sits on one chiplet only, and Intel's hybrid parts with both performance and efficient cores. Those are examples rather than a specification — a single-chiplet X3D part is one cache domain, some chips in Intel's hybrid generations ship with no efficient cores at all, and a dual-chiplet part with V-Cache on both chiplets reports two equal domains and lands in the symmetric row instead. The group names borrow vendor vocabulary but the tests do not: no branch anywhere checks who made the CPU, so any processor Windows reports with two efficiency classes is shown under the Intel name whoever built it.

If Windows cannot describe the topology at all, the app says so at startup and governs nothing — that is a failure to detect, not the Unknown row above.

Two things are untested rather than unsupported. Machines with more than 64 logical processors, which Windows splits across several processor groups, have never been run: the masks are CPU Set Ids, which are not scoped to a processor group, so this is expected to work, but expected is not measured. Windows on Arm has never been run either — there is no Arm64 build, and while Windows 11 on Arm emulates x64 applications, nobody has checked what topology this app sees under emulation.

Example CPUs by class

These are examples, not a compatibility list — the app reads your machine's topology at first run, and that screen is the authoritative answer for your CPU.

Intel hybrid (P/E cores)

🔴 Trap — a hybrid generation is not a hybrid CPU. Plenty of 12th–14th gen parts ship with zero E-cores and land in the single cache domain row instead: i5-12400, i3-12100, i3-12300, i3-13100, i3-14100, Pentium Gold G7400, Celeron G6900. Generation name tells you nothing.

AMD asymmetric cache (X3D)

Two chiplets, 3D V-Cache stacked on one of them. This is the layout the app exists for.

🔴 Trap — most X3D parts are not in this row. Single-chiplet X3D CPUs have one cache domain and nothing to steer between: 9800X3D, 9850X3D, 7800X3D, 5800X3D, 5700X3D, 5600X3D. The X3D name says cache, not asymmetry.

🔴 Trap — the 9950X3D2 Dual Edition is not here either. V-Cache sits under both chiplets, 96 MB each, so it is Multi-CCD symmetric.

Multi-CCD symmetric

Zen 2 and earlier split each die into two four-core complexes with their own L3, so a cache domain there is four cores, not eight. The 3700X has one chiplet and two domains; the 2700X has no chiplets at all and still has two. Confining a game to one of those domains gives it four cores.

Single cache domain

One cache domain means there is nothing to steer between. The app will say so rather than pretend otherwise.

Status

Pre-release. Read what has actually been tested before using this on anything you care about.

Anti-cheat has not been tested

No anti-cheat has been tested with this app by anyone, anywhere in this work. No game was running during any measurement.

Game Optimizer requests the minimum access rights (PROCESS_SET_LIMITED_INFORMATION | PROCESS_QUERY_LIMITED_INFORMATION), never reads or writes game memory, and never injects anything — but that is a design intention, not a vendor assurance. BattlEye's FAQ notes they may kick (not ban) players for using third-party programs; that outcome cannot be prevented or detected by this app.

Use it on anti-cheat-protected titles at your own risk.

What is in this download

Eight files. There is no installer, and the app installs no service and no driver. Nothing is written outside your user profile unless you turn on the AMD 3D V-Cache setting, which writes one registry value for AMD's own driver and service.

File What it is
GameOptimizer.exe The app. Double-click this one.
WebView2Loader.dll Microsoft's WebView2 loader. Keep it in the same folder as the exe — that is the first place the app looks for it. It is optional: without it the Settings window draws its sponsor strip with GDI instead and nothing else changes.
README.md This file.
LICENSE MIT, for Game Optimizer itself.
NOTICE.md What is bundled, where it came from, and what is not third-party.
third_party\webview2\LICENSE.txt Microsoft's licence for the loader above.
third_party\webview2\NOTICE.txt Microsoft's notices for the same.
third_party\webview2\README.md Which SDK package version that loader came from.

The third_party\webview2\ folder is **documentation only** — nothing in it is loaded at run time. To remove Game Optimizer: **if you turned on the AMD 3D V-Cache setting, turn it off first and restart** — that setting disables a driver, and the record of its original value lives in config.ini, so deleting that file first leaves the driver disabled with nothing left to restore it. Then Exit from the tray icon, delete the folder you unzipped, and delete %LOCALAPPDATA%\GameOptimizer\ if you want its settings gone too.

If Windows says the file is blocked, that is the mark-of-the-web that lands on anything downloaded. Right-click the zip before extracting, Properties, tick Unblock, OK, then extract.

Double-clicking it never asks for administrator rights. The manifest requests asInvoker, so launching it raises no UAC prompt. One optional feature does: turning the AMD 3D V-Cache setting on or off launches a short-lived elevated copy of this same exe to write a single registry value, and Windows will ask you to approve it. Because the exe is unsigned, that prompt says "Unknown publisher" for the same reason SmartScreen does.

Build from source

None of this is in the download — it is for the repository at https://github.com/charlie754/Game-Optimizer-CPUs-Threads-Optimizer.

Requires MSVC (Build Tools 2019 or newer) and a Windows 10 SDK. No other dependencies.

tools\build.bat

Produces build\GameOptimizer.exe. Run tools\gate-a.bat for the build + unit-test gate.

Two diagnostic probes report what this machine actually looks like and how it actually behaves; their output is the evidence behind docs\spec\04-measurements.md:

tools\build-probe.bat      && build\topology_probe.exe
tools\build-behaviour.bat  && build\behaviour_probe.exe

Windows SmartScreen on first run

The binary is not code-signed, and no certificate is pending. SignPath Foundation, whose programme is free for open-source projects, declined this project on 3 September 2026 — it asks for established public visibility and sustained activity, and the repository was days old. That is a fair call and they invited a reapplication later.

Two things are worth saying plainly rather than leaving a promise standing. Microsoft's own low-cost signing service restricts individual developers to the United States and Canada, and its organisation list does not cover this author's country. And signing is not an off switch for the detections described below: two of the three verdicts this app has received end in !ml, and machine-learning verdicts fire on signed software too — a Microsoft-signed installer was hit by the sibling detection Wacatac.H!ml. Whether a certificate would have changed these particular detections has not been tested and cannot be tested from here, so this file does not claim it either way. What signing buys that is documented is narrower than it looks — reputation carrying from one release to the next instead of restarting at zero each time.

So there is no signature, and Windows notices.

The first time you run a downloaded GameOptimizer.exe, SmartScreen shows a prompt headed "Windows protected your PC" saying the app is unrecognised. Run anyway is not on it until you click More info:

  1. More info
  2. Run anyway

That is once, for that copy of the file. Nothing here asks you to turn SmartScreen off, add a Defender exclusion, or change any other security setting; none of that is needed to run this.

"Unrecognised" is exactly what it says: no signature and no download reputation. It is not a statement about what is in the file. What this project offers instead of a signature is that the whole source is public and builds with MSVC via tools\build.bat in that repository (not in this zip), so you can read what it does and produce the binary yourself. A copy you compiled locally does not normally carry the downloaded-file marker this check is keyed to, so the prompt is a thing downloaders meet rather than builders.

If Windows Defender flags it

Some machines have shown a Defender toast for a Game Optimizer build - "Trojan:Win32 Cloxer" on an old development build, and "Trojan:Script Wacatac.H!ml" on a user's copy of a release. The "!ml" suffix marks a machine-learning verdict: no analyst looked at the file. The exe is not signed, it is new, few machines have seen it, and it does things a scanner scores as suspicious for a good reason - it enumerates processes, opens the game's process to set its CPU Sets, controls one AMD service on request, writes a Start-with-Windows entry when you ask for one, and relaunches a short-lived elevated copy of itself for the one action that needs administrator rights. None of that is hidden; all of it is in this repository.

What to check before trusting any copy:

  1. Recent releases print two SHA256 hashes in their GitHub release notes, one for the zip and one for the loose exe. Compare the published zip hash with certutil -hashfile GameOptimizer-vX.Y.Z-x64.zip SHA256 on the file you downloaded. If you already unpacked it and only have the loose exe, hash that instead with certutil -hashfile GameOptimizer.exe SHA256. Older releases do not all list a hash; if the release you downloaded does not, you cannot use this check on it.
  2. If the hash matches and Defender still quarantines the exe, that is a false positive on this build. You can report it to Microsoft at https://www.microsoft.com/en-us/wdsi/filesubmission (choose "incorrectly detected", and set the submission priority to Medium - the form says Medium gets an analyst review within a few days, while Low "may never be processed"). Expect a few days, and note that a review is not a promise: it may or may not clear the detection, for you or for anyone else. Please also open an issue here with the detection name and the date.
  3. Or build it yourself: tools\build.bat with the Visual Studio Build Tools gives you a binary you compiled from these sources. It will not be byte-identical to the released exe - the build is not reproducible bit for bit, so its SHA256 will differ and that is expected. tools\build.bat currently expects the Build Tools at one hard-coded path and stops if it is not there, so you may need to point it at your own vcvars64.bat.

Defender's clean-up also deletes the Start-with-Windows entry it finds. After restoring or reinstalling, switch "Start with Windows" back on in Settings.

Nothing here asks you to add an exclusion or turn Defender off.

Use

Double-click GameOptimizer.exe. The Settings window opens and the app gets a taskbar button, plus an icon in the notification area.

Closing the Settings window does not quit the app. It returns to the tray and keeps working. The tray icon's Settings item brings the window back; Exit is what actually quits, and quitting clears every mask it applied. If you turn on Start with Windows, the app starts quietly at login with no window.

On first launch it detects your topology, shows you a core map, and asks you to confirm it before anything is applied. Then pick a game — from the running-process list or by browsing to an .exe — and choose which named mask it should get.

On a 9950X3D the derived masks are Cache, Cache no SMT, Freq, Freq no SMT, All and All no SMT. On Intel hybrid they are P-cores / E-cores variants. On a symmetric dual-CCD part they are CCD0 / CCD1, and the app tells you it cannot determine which is better. On a single-CCD part it says plainly that no split exists and only the SMT masks will help.

A profile is a game plus a list of "heavy apps". The game and its descendants get one mask; the heavy apps get the other, for as long as the game runs. Optionally, any process that sustains more than N% CPU for M seconds while the game is in the foreground is moved to the background mask too.

Configuration is a plain INI file at %LOCALAPPDATA%\GameOptimizer\config.ini, editable by hand.

If it is killed rather than closed — Task Manager, a crash, a power cut — the assignments it had applied are recorded in %LOCALAPPDATA%\GameOptimizer\applied.journal, and the next start reads that journal and tries to clear each one, writing the result of every attempt to %LOCALAPPDATA%\GameOptimizer\GameOptimizer.log. An entry it cannot clear is logged as FAILED and not retried later, so the log is the place to check rather than an assumption. Rebooting is the guaranteed reset: a CPU Set assignment belongs to a running process and does not survive one.

Upgrading from the "CoreDirector" builds

The product was renamed. Two things move on first start of a renamed build, automatically and once, each logged to GameOptimizer.log:

Windows Game Mode

The first-run wizard checks Game Mode and reports what it finds. It never changes the setting and never requires a particular value.

Worth understanding: Game Mode does not park CCDs itself. On X3D parts, AMD's 3D V-Cache Performance Optimizer makes the same kind of decision Game Optimizer does, by a different mechanism and on Windows' idea of what counts as a game rather than yours. Running both means two systems placing your game by different rules.

That optimizer is three components, and

Game-Optimizer-CPUs-Threads-Optimizer (charlie754/Game-Optimizer-CPUs-Threads-Optimizer)

Searching Database…

Что это?Game Optimizer — это приложение в трее для Windows, которое закрепляет выбранную игру (и её дочерние процессы) за правильным кеш-комплексом CPU через API Windows CPU Sets, вместо использования масок affinity, отключения SMT или изменения настроек BIOS.
Это фоновая служба или просто приложение в трее, которое я открываю кликом?Это один нативный .exe без установщика, службы и драйвера — он сидит в системном трее и действует только на одно выбранное вами дерево процессов, снимая изоляцию в тот момент, когда игра выходит.
Как его установить и запустить?Скачайте zip-архив релиза (8 файлов), снимите блокировку через правый клик > Properties > Unblock, если Windows его пометила, распакуйте и дважды кликните GameOptimizer.exe — установщика нет, и при обычном использовании не бывает запроса прав администратора.
Нужно ли сначала установить что-то ещё?Нет. Единственный опциональный компонент — загрузчик WebView2 от Microsoft, используемый лишь для отрисовки спонсорской полосы в окне настроек; без него приложение откатывается к отрисовке этой полосы через GDI и в любом случае стартует нормально.
Это реально поможет на моём CPU?Только на CPU с несколькими кеш-доменами или типами ядер, вроде гибридных чипов Intel P/E или несимметричных процессоров AMD X3D (например, 7950X3D, 9950X3D). На куда более распространённых CPU с одним кеш-доменом ему нечего распределять, и он почти ничего не делает.
Безопасно ли использовать его с играми под защитой античита?Не проверено — против этого приложения не запускался ни один античит, а в FAQ BattlEye отмечено, что они могут кикать игроков за сторонние программы; этот исход приложение не может предотвратить или обнаружить.
На каких системах он работает?Windows 10 или 11, только x64 — 32-битной или ARM-сборки нет, а Windows on Arm (через эмуляцию) никогда не проверялась.
Отправляет ли он какие-то данные куда-либо?Нет. Настройки хранятся локально, аккаунта и телеметрии нет, и приложение вообще не делает сетевых запросов.
Почему Windows SmartScreen помечает приложение при первом запуске?Бинарник не подписан — SignPath Foundation отказалась его подписывать, так как репозиторий был слишком новым, а два из трёх вердиктов обнаружения приложения основаны на машинном обучении, что может срабатывать даже на подписанном ПО.
Как он определяет, какую группу CPU использовать на моей машине?При первом запуске он запрашивает у Windows фактическую топологию ядер и кеша, классифицирует её (гибрид Intel, несимметричный кеш AMD, симметричный multi-CCD или один домен) и показывает уровень уверенности и карту процессора — жёстко прописанного списка моделей CPU, который мог бы устареть, нет.
Чем это отличается от BIOS Game Mode или ручной маски affinity?Игровые режимы BIOS и маски affinity действуют на всю сессию или статичны и не наследуются дочерними процессами; Game Optimizer использует CPU Sets, ограниченные только деревом процессов выбранной игры, автоматически подхватывает порождённые дочерние процессы и очищает всё в момент выхода игры.
Как полностью удалить его?Если вы включили опциональную настройку AMD 3D V-Cache, сначала выключите её и перезапуститесь, чтобы восстановить драйвер, затем выйдите через иконку в трее, удалите распакованную папку и, при желании, %LOCALAPPDATA%\GameOptimizer\, чтобы очистить его настройки.
Creator
charlie754
Size
54.3 MB
Stars
211
Age
1mo
Commits · 90 Days