Jump to content
LaunchBox Community Forums

2 Screenshots

About This File

LaunchBox Precache Manager (LPM) V.1.0 PS (powershell version)

Mass image optimizer + precache system for LaunchBox libraries (PowerShell 5.1, ASCII-only).

TL;DR

LPM scans your LaunchBox Images folder, builds a compressed WebP/JPEG precache into:

LaunchBox\Images\_Precache

…then (optionally) swaps your original image folders for the precache using NTFS junctions.

Original art is protected in: Images\_Originals

LaunchBox/Big Box browsing gets faster and lighter

You can restore originals at any time

Designed for very large libraries (hundreds of thousands to millions of images).

What’s included

This package contains two main scripts:

LB-Precache-Manager.ps1 – interactive front-end menu (the “manager”)

Build-LaunchBox-Thumbnails-Parallel.ps1 – the “engine” that does the heavy lifting

Optional (recommended):

cwebp.exe – Google WebP encoder (best compression / speed)

Launcher:

Launch-LPM.cmd (optional convenience)
You can also run the manager directly with PowerShell.

High-level workflow

Audit your Images folder (counts, types, savings estimates).

Build thumbnails (create/update files in Images\_Precache).

Backfill later (fill gaps only after partial runs or new content).

Activate Precache (parks originals into _Originals, junction-swaps to _Precache).

Restore Originals (undo junction swap, put everything back).

Rebuild existing precache later with a new profile if you want tighter compression.

Important notes up front

Close LaunchBox and Big Box before running (especially Activate/Restore).
Locked folders will be skipped.

Back up first.
Make a backup/snapshot of your LaunchBox folder if you’re cautious (recommended for first-time users).

LPM does not change your game metadata except when you explicitly use:

Clean XML references (only removes references to images already moved to _BadImages).

Remote / network / external path warning (important)

LPM is built for local, fixed disks.

If your LaunchBox path is a mapped drive / UNC path / remote share, some operations will refuse to run and you will see:

Remote paths not supported; run on the Launchbox PC.

This prevents multi-day failures, broken junctions, and extreme slowdowns.

SAFE vs FULL run mode

At startup you’ll choose a run mode:

SAFE: low impact (older/USB systems)

FULL: uses hardware recommendations for faster multi-threaded work (best on SSD/NVMe)

FULL mode will also show detected hardware and recommended defaults (workers/batch sizing).

Why counts don’t always match

It’s normal to see differences between:

a simple file count script, and

what the engine prints during scanning/building

Reasons:

The engine may walk additional internal paths (depending on mode and what already exists in your Images tree).

“Visited directories” and “files matched” are progress counters, not a strict “real folder count.”

Bottom line: don’t panic if counts don’t line up perfectly, especially after multiple runs or after Activate/Restore operations.

Handling locked folders / “file in use”

During Activate/Restore (and sometimes builds), you may see locked items skipped.

What it means:

LaunchBox/Big Box/Explorer/AV has something open.

What LPM does:

prints a warning

continues with the rest (doesn’t abort the entire run)

Fix:

close LB/BB

re-run the option (safe to re-run)

Installation

Extract the zip anywhere (Desktop/tools folder).

Run one of:

Launch-LPM.cmd (recommended convenience)

or open PowerShell and run: .\LB-Precache-Manager.ps1

Recommended:

Run PowerShell as Administrator for:

junction swap operations

optional Defender exclusion

standby-cache clearing (RAM file cache)

Logging

LPM supports two concepts:

1) Feature state (always-on)

LPM-Answers-Last.json
This stores the last answered prompts so you can re-run the same build easily (Repeat mode uses this).
This is NOT a log and remains on by default.

2) Session logs (optional)

You may be asked early in startup whether to disable session logs.

Default: logs enabled

If disabled: fewer files written; console output still appears

Batch mode also maintains small state/summary files so it can resume safely.

Main Menu (Manager)

You’ll see:

Main Menu
[0] Audit images (recommended first step)
[1] Build Thumbnails
[2] Activate Precache (junction swap)
[3] Restore Originals
[4] Clean XML references
[5] Backfill missing precache from Images
[6] Rebuild existing precache at new profile
[7] Exit
[B] Batch run-all (50,000 cap per session)
[R] Repeat last build (use saved answers)
[T] Clean LPM temp files (optional)

[0] Audit images

Walks the Images tree and produces:

counts

convertible totals

rough space saving estimates

planning hints per profile

Outputs:

lb_audit.json

lb_audit.csv

[1] Build Thumbnails

Creates/updates the precache under:

LaunchBox\Images\_Precache\...

Profiles:

Fast

Balanced

Extreme

Custom

Notes:

If cwebp.exe is present, WebP is used (best compression).

You can force JPEG-only (optional).

[2] Activate Precache (junction swap)

“Turns it on.”

Moves originals to Images\_Originals\...

Creates junctions under Images\... pointing to _Precache

[3] Restore Originals

Undoes Activate:

removes junctions

moves originals back from _Originals

[4] Clean XML references

Advanced/optional cleanup for broken image refs linked to _BadImages.

[5] Backfill missing precache from Images

Fills only what’s missing:

finds originals without corresponding precache output

generates precache copies only for those

[6] Rebuild existing precache at new profile

Re-encodes existing precache using a different profile (only replaces when beneficial, depending on settings).

[B] Batch run-all (50,000 cap per session)

This is for huge libraries with hundreds+ platforms/folders.

What it does:

Iterates through platform folders under Images

Processes them in segments capped at 50,000 per batch session

Writes output into: Images\_Precache\<Platform>\...

Can resume where it left off in later runs using a state file

Behavior:

Prompts per platform with an auto-default (so you can run unattended)

Designed so you can run overnight without bogging down the machine for days in one “run all”

Batch state:

LaunchBoxRoot\LPM-Batch-State.json (resume point / continuation)

Batch summary:

Writes short progress summaries to the LaunchBox root (easy to find)

Also:

Batch runs can clear standby cache automatically (admin required) before segments to reduce cache thrash.

[R] Repeat last build (use saved answers)

Re-runs your last answered configuration using:

LPM-Answers-Last.json

This is the “do exactly what I did last time” option.

[T] Clean LPM temp files (optional)

Cleans LPM temporary working files (typically under Windows %TEMP% related to LPM processing).
This is safe housekeeping and does not change your LaunchBox Images content.

Notes about WebP + LaunchBox

LaunchBox can display WebP files when they’re in place in the Images tree, but:

Drag/drop and scraping workflows typically expect PNG/JPG sources.

LPM’s approach keeps originals safe, while precache improves performance.

Clear Logos:

PNG sources are strongly recommended (transparency matters).

Recommendation for first-time users

Run Audit

Run Build Thumbnails with Balanced

Test LaunchBox/Big Box performance

Then consider Activate Precache

Support / community

Let me know below if you have suggestions for improvement, or if you dfind something that doesn't work as intended.

If you like this and want to help me out, buy me a coffee :)
https://buymeacoffee.com/mcflylpm

 

 

 

Edited by -McFly-
updated the readme


What's New in Version 0.28_Beta   See changelog

Released

More options, better viewability. Let me know if anything doesn't work or if it needs something I haven't thought of. Still in Beta.

  • Thanks 2
  • Unusual Gem 1

User Feedback

You may only provide a review once you have downloaded the file.

There are no reviews to display.

×
×
  • Create New...