Luczystrap/Features/Windows Tweaks/CPU Core Parking

Processor policy · verification guide

Check the policy—not the toggle.

CPU core parking is a dynamic Windows power-management policy. Luczystrap’s historical control changed registry metadata, while the documented policy lives in the AC and DC values of a power plan. Read both before you decide that anything changed.

My rule: never call core parking “disabled” until the selected power plan reports the intended CPMinCores value. Never call rollback complete until both plan values and the historical registry location match your own baseline.

01 / Meaning

One percentage, not an on/off hardware switch.

Microsoft defines CPMinCores as the minimum percentage of logical processors that must remain unparked within each NUMA node. At 100%, the Core Parking algorithm is disabled for that power policy.

0–100%

A minimum, not a live core count.

A value of 25% guarantees at least one quarter of the logical processors remain unparked. Windows may unpark more as demand changes.

Plan + power source

AC and DC are separate.

The same plan can hold one value while plugged in and another on battery. Query and preserve both even when you test only AC.

No automatic gain

100% does not add CPU capacity.

It does not create cores, raise clock limits, remove an FPS cap, reduce network distance, or guarantee a better Roblox frame time.

02 / Evidence boundary

What Luczystrap historically wrote.

The current 1.4.9 application source is not public. The table below describes public tag 1.3 and tells you what must be verified on a current PC.

SignalHistorical public 1.3 behaviorWhat it provesWhat it does not prove
Toggle onWrote ValueMax=0 under the registry key for setting GUID 0cc5b647….Metadata requestIt did not query or write the active plan’s documented AC/DC indices.
Toggle offWrote the fixed value ValueMax=100.Fixed off actionIt did not restore the previous value or preserve that the value may have been absent.
CPMinCores = 100Microsoft documents 100% as disabling the Core Parking algorithm.Policy meaningIt does not prove Luczystrap changed that plan index or improved Roblox.
Task Manager stateWindows can park and unpark logical processors as workload changes.Live observationA single screenshot does not preserve the plan, AC/DC policy, or test conditions.
Audit finding: the historical label-to-write path is not equivalent to Microsoft’s documented plan-level control. This page therefore treats the result as unknown until Windows is queried after the change.

03 / Before Luczystrap

Capture two receipts.

Open Windows Terminal as administrator for the registry commands. The power queries are read-only. Replace no GUIDs until you have copied the active scheme from the first command.

Keep the complete output privately. Screenshots crop GUIDs; copied text is easier to compare. Remove the Windows username before posting file paths publicly.

Record the active scheme GUID

Copy the full GUID and friendly name. Call it ORIGINAL_SCHEME_GUID in your notes.

powercfg /getactivescheme

Query CPMinCores for that exact scheme

Replace the placeholder with the GUID you just recorded. In the output, locate setting GUID 0cc5b647-c1df-4637-891a-dec35c318583. Save its AC and DC power-setting indices; they are commonly shown in hexadecimal.

powercfg /query ORIGINAL_SCHEME_GUID 54533251-82be-4824-96c1-47b60b740d00

Record the historical registry metadata

Save whether ValueMax exists, its type, and its data. “Value not found” is itself a baseline; absence must not be replaced with a guessed number.

reg query "HKLM\SYSTEM\CurrentControlSet\Control\Power\PowerSettings\54533251-82be-4824-96c1-47b60b740d00\0cc5b647-c1df-4637-891a-dec35c318583" /v ValueMax

Optional: export the metadata key

This creates an exact pre-test registry backup in Documents. Use only your own export on the same PC; do not download or share registry files.

reg export "HKLM\SYSTEM\CurrentControlSet\Control\Power\PowerSettings\54533251-82be-4824-96c1-47b60b740d00\0cc5b647-c1df-4637-891a-dec35c318583" "%USERPROFILE%\Documents\Luczystrap-CPMinCores-before.reg" /y

Run three baseline passes

Use one CPU-sensitive Roblox scene, route, server, camera path, duration, graphics level, FPS cap, power source, cooling mode, and background-app set. Record frame time—not only peak FPS.

04 / Change and verify

Make one request, then read Windows.

This sequence tests Luczystrap’s control. It does not assume the current build repeats the public 1.3 implementation.

Default laptop boundary: test while plugged in and do not change the DC index. Battery policy deserves a separate battery-life test, not an FPS guess.

LZ

Enable only CPU core parking control

Open Configure Settings → Windows Tweaks → Disable CPU core parking. Leave Ultimate Performance, High Priority, network changes, FastFlags, drivers, BIOS options, and third-party optimizers unchanged.

PLAN

Query the same power plan again

Use the original scheme GUID—not SCHEME_CURRENT—so a plan switch cannot silently move the comparison to another plan.

powercfg /query ORIGINAL_SCHEME_GUID 54533251-82be-4824-96c1-47b60b740d00
REG

Query ValueMax again

Compare existence, type, and data with the registry baseline. A changed ValueMax proves only that this metadata location changed.

reg query "HKLM\SYSTEM\CurrentControlSet\Control\Power\PowerSettings\54533251-82be-4824-96c1-47b60b740d00\0cc5b647-c1df-4637-891a-dec35c318583" /v ValueMax
100%

Manual policy test: AC only, optional

If Luczystrap did not change the plan and you intentionally want a documented comparison, this elevated command sets CPMinCores to 100 for AC on the recorded plan. It is a separate manual test—not proof of Luczystrap behavior.

powercfg /setacvalueindex ORIGINAL_SCHEME_GUID 54533251-82be-4824-96c1-47b60b740d00 0cc5b647-c1df-4637-891a-dec35c318583 100 powercfg /setactive ORIGINAL_SCHEME_GUID
STOP

Stop on a missing baseline or denied action

Do not use imported power plans, random registry files, unlock scripts, or a full reset to force this setting. If policy is hidden, unavailable, or managed, preserve the output and leave the device’s supported power model intact.

05 / Matched measurement

Look for repeatable frame-time change.

Complete the same three passes in each state. This checklist is local and stores nothing.

Benefit

Frame-time consistency

Compare median, 1% low, and p95/p99 frame time in the same CPU-sensitive scene.

Cost

Heat, clocks, power, noise

Track effective clocks with temperature, package power, fan behavior, responsiveness, and battery drain where relevant.

Control

Same workload

Do not change server, scene, graphics, cap, background load, power source, or cooling mode.

Decision

Reject noise

Keep the change only when the benefit repeats and outweighs its thermal, power, noise, and stability cost.

Matched pass ledger0 / 6 complete

Finish all baseline passes before changing either audited layer.

06 / Exact rollback

Restore values—not labels.

The correct original values belong to your plan and your PC. Convert any hexadecimal AC/DC values from the query to decimal before using the documented set commands.

Rollback passes when: the same scheme reports the recorded AC and DC indices, ValueMax matches its original value or absence, and a final workload behaves like baseline.

HEX

Convert only if the query printed hexadecimal

Replace the sample digits with the eight hexadecimal digits after 0x. Record the decimal result separately for AC and DC.

[Convert]::ToInt32("00000004", 16)
AC

Restore the recorded AC value

Replace both placeholders. Do not use 100 unless 100 was your actual pre-test AC value.

powercfg /setacvalueindex ORIGINAL_SCHEME_GUID 54533251-82be-4824-96c1-47b60b740d00 0cc5b647-c1df-4637-891a-dec35c318583 ORIGINAL_AC_DECIMAL
DC

Restore the recorded DC value

Do this even when the laptop stayed plugged in if another action altered DC. Otherwise leave the unchanged DC value alone.

powercfg /setdcvalueindex ORIGINAL_SCHEME_GUID 54533251-82be-4824-96c1-47b60b740d00 0cc5b647-c1df-4637-891a-dec35c318583 ORIGINAL_DC_DECIMAL
APPLY

Reactivate and verify the recorded scheme

Microsoft documents /setactive as the activation step. Read the setting again and compare both indices.

powercfg /setactive ORIGINAL_SCHEME_GUID powercfg /query ORIGINAL_SCHEME_GUID 54533251-82be-4824-96c1-47b60b740d00
REG

Restore metadata only from your own baseline

If the Luczystrap test changed ValueMax, your own pre-test .reg export is the exact receipt. Inspect it before import and use it only on the same PC. If the baseline was “value absent,” do not invent a replacement value.

NONE

No baseline means no exact rollback

Switching the historical toggle off wrote a fixed 100, not the prior registry state. Preserve the current query and Luczystrap log, stop further changes, and use qualified Windows support instead of powercfg /restoredefaultschemes or a guessed registry edit.

07 / Claim filter

What core parking does not explain.

Use this page only when processor scheduling is a plausible layer. Many Roblox problems live elsewhere.

No FPS promise

More unparked is not automatically faster.

A GPU-bound scene, frame cap, engine stall, background process, or thermal limit may not improve at all.

No clock promise

It does not force boost clocks.

Firmware, cooling, voltage limits, CPU policy, and workload still determine effective frequency.

No ping fix

It does not shorten the network path.

Server region, routing, Wi-Fi interference, and game-server load remain separate latency causes.

No affinity edit

It is not CPU affinity.

Parking policy does not pin Roblox to selected logical processors or change the game’s thread count.

No hardware toggle

It does not disable physical cores.

BIOS core controls, SMT, core isolation, NUMA topology, and Windows parking are different mechanisms.

No screenshot proof

“Parked” is a moment, not a baseline.

Live state changes with demand. Preserve plan GUID, AC/DC values, workload, and time-series measurements.

08 / Reproducible report

Show both layers and the workload.

A useful issue report separates the requested toggle state, actual plan policy, registry metadata, and observed result.

Remove before posting: Windows username, serial numbers, account identifiers, private server links, and unrelated registry data.

CPU core parking test
Luczystrap version:
Windows edition and build:
Desktop / laptop / handheld:
CPU / GPU / RAM:
Cooling mode and power source:

Original power scheme name and GUID:
Original CPMinCores AC index:
Original CPMinCores DC index:
Original registry ValueMax: absent / type + value

Luczystrap toggle state:
Post-change CPMinCores AC index:
Post-change CPMinCores DC index:
Post-change registry ValueMax: absent / type + value
Manual policy command used: yes / no

Roblox version:
Experience / region / repeatable scene:
Graphics level / FPS cap / pass duration:
Baseline frame-time results:
Test frame-time results:
Temperature / clocks / power / noise change:

Original AC/DC values restored and verified: yes / no
Original registry state restored and verified: yes / no
Conclusion: keep / revert / no verified change

09 / FAQ

Short answers before you touch the policy.

What is CPU core parking?

It is part of Windows processor power management. Windows can concentrate work on some logical processors while others remain parked, then unpark more as demand changes.

What did Luczystrap historically change?

Public 1.3 code wrote registry ValueMax under the CPMinCores setting key. It did not write the documented AC/DC indices of the active power plan. Query a current machine rather than extrapolating that code to 1.4.9.

Will disabling core parking improve Roblox FPS?

There is no guarantee. Use a repeatable CPU-sensitive scene and compare frame-time distribution plus clocks, temperature, power, noise, and stability. Reject a result that does not repeat.

How do I check the actual policy?

Record the active scheme GUID, then run powercfg /query for that scheme and processor subgroup 54533251…. Find setting 0cc5b647… in the output and preserve both AC and DC indices.

Does CPMinCores 100 disable core parking?

Yes for that policy. Microsoft defines it as the minimum unparked percentage and states that 100% disables the Core Parking algorithm. It still does not guarantee a performance benefit.

Should I use it on a laptop?

Not by default. Prefer a short plugged-in test and leave DC unchanged unless battery behavior is the explicit experiment. Watch heat, fan noise, package power, and battery drain.

How do I restore the original values?

Write the recorded decimal AC and DC indices back to the same scheme, reactivate it, and query again. Restore registry metadata only from your own pre-test export or recorded absence.

Does turning the Luczystrap toggle off restore everything?

Do not assume so. Historical 1.3 code wrote fixed ValueMax=100 on disable instead of restoring the prior value or absence. Verify the plan and registry layers independently.