Skip to content

Releases

AVX Tune 1.4.0

Choose a tag to compare

@avxsim avxsim released this 14 Oct 01:42
4f05d2c

AVX Tune 1.4.0: Protect first, then measure

• Protect first. Dashboard and first run open with three status rows and their buttons: baseline snapshot, Sim Update watcher, bindings backed up. Measurement comes second.
• Landing report (Beta, in Flight Log). Vertical speed at touchdown, peak g, ground speed, bank, pitch, headwind and crosswind, bounces. Read-only SimConnect. Numbers only, no grades. On the flight card, in the in-sim panel, in CSV and JSON, and as a PNG card.
• Inconclusive explained. Under an Inconclusive A/B or a Load time "No reliable difference", Tune shows your noise floor, the measured difference and how many more run pairs would probably settle it. "Keep whichever you prefer; no measured cost either way."
• Result cards (Beta) for Performance A/B and the landing report: sim build, graphics card, verdict word, noise floor, caveat, and "Measured by AVX Tune on this PC; Tune changed nothing."
• Before you update the sim. One Dashboard card when an update is queued or just landed, with snapshot and bindings status and a link into AVX Sorter when it is installed.
• Health shows what is verified today. MSFS 2024 Store Verified; MSFS 2024 Steam, MSFS 2020 Store and Steam Beta; X-Plane advice only.
• VR card. When the OpenXR Toolkit layer is present, a note that it is no longer maintained and how to turn it off yourself. Tune changes nothing in the OpenXR registry.
• Next flight (Beta, off by default). After a flight, one card suggests a single setting to test. "Queue for next start" applies it only after the sim closes, snapshot first.

Tune measures and never promises frame rates. Writes happen only while the sim is closed, after a snapshot; restore is never blocked.

Available now: Tune updates itself on the next start, or download from the website: https://avxsimulations.com/download

AVX Tune 1.4.0

"Protect first, then measure." The Dashboard and the first-run flow now lead with the three things that save an evening (baseline snapshot, Sim Update watcher, bindings backup); measurement comes second. Flight Log learns to measure a landing, every "Inconclusive" explains itself, and results can be shared as cards. The rules are unchanged: Tune never touches sim memory, injects code or installs a driver; it writes settings only while the sim is closed, after a snapshot; restore is never blocked; nothing changes while you fly; no AI service is involved. Verdicts stay Keep / Roll back / Inconclusive / Invalid. Tune measures and never promises frame rates.

Added

  • Landing report (flightlog.landing, Beta, on with Flight Log). Inside Flight Log, from the same read-only SimConnect connection, a second data definition (SIM ON GROUND, PLANE ALT ABOVE GROUND, VERTICAL SPEED, G FORCE, GROUND VELOCITY, PLANE BANK DEGREES, PLANE PITCH DEGREES, PLANE HEADING DEGREES TRUE, AMBIENT WIND VELOCITY, AMBIENT WIND DIRECTION, latitude, longitude) is requested at 1 Hz; below 500 ft above ground while airborne Tune requests every sim frame and keeps 10 samples per second, through the landing roll until the wheels have stayed down for 30 s, then drops back to 1 Hz above 600 ft (hysteresis). At touchdown: vertical speed (most negative value in the second before contact, fpm), peak g in a 2 s window, ground speed, bank, pitch, heading, headwind and crosswind components from the sim wind, and bounces (contact lost and regained within 10 s). A touch-and-go (contact, then a climb above 50 ft or airborne longer than the bounce window) never finalises a landing; a report is written only when the wheels stay down for 30 s or the flight ends on the ground; a go-around without contact and a taxi bump after fewer than 10 s airborne produce nothing. Distance from the runway threshold appears only when a threshold is known from existing data (none today; no facility requests were added, the field is omitted). Shown on the flight card, in the in-sim panel right after the landing (panel protocol 3 adds a landing message; 1.2 and 1.3 panels ignore unknown messages and keep working), in the per-flight CSV (landing_field,value rows after a blank line), the flight-list CSV (six landing columns) and JSON, and as a PNG card. Label everywhere: "Measured from sim data at touchdown." No grades, no scoring. Pure core src/shared/landing-core.ts with tests on synthetic series (clean landing, bounce with two contacts, touch-and-go, touch-and-go followed by a full stop, go-around, taxi bump). Logger CPU is reported where it was. Sign conventions for bank and pitch follow the FS SDK (bank positive = left, pitch positive = nose down) and are marked for confirmation on a real install.
  • Inconclusive explainer (measure.inconclusive, core). Under a Performance A/B verdict that is Inconclusive, and under a Load time "No reliable difference", three plain facts from the stats the verdict already has: your noise floor, the measured difference, and how many more run pairs would probably settle it (a simple power estimate from the observed spread, always labelled "probably", or "Cannot estimate from these runs" when the difference is a tenth of the noise or smaller; above ten extra pairs it says so instead of asking for them). Closing line, always: "Keep whichever you prefer; no measured cost either way." More runs are never promised to produce a win. Pure src/shared/inconclusive-core.ts with tests, including the cannot-estimate case.
  • Protect first (Dashboard and first run). One card with three status rows and their existing actions: baseline snapshot ("Snapshot now"), Sim Update watcher ("Turn on"), bindings backed up ("Back up now", a bindings-only snapshot). The Dashboard shows it before the measurement card; the first-run "Protect first" step shows the same rows. No redesign, no new writes.
  • Verification matrix (health.verificationMatrix, core). Health shows the 2x2 (MSFS 2024 / 2020 x Store / Steam) with Verified / Beta plus "X-Plane: Advice only", read from the shared facts module (src/shared/facts.ts, one set of values for the apps and the website). Help entry #verification-matrix.
  • OpenXR Toolkit guidance (vr.toolkitGuidance, Beta). When the VR card finds the Toolkit layer it adds a note: no longer maintained by its author, some runtimes and recent sim builds flag it, how to turn it off yourself (the Toolkit's Companion app or its uninstaller in Windows Settings > Apps; a stale entry goes the same way), and a "Measure VR before/after" button into Performance A/B. Read-only; the OpenXR registry is never written. The Companion app's exact menu labels were not verified on a real install and are not named.
  • Result cards (measure.resultCard, Beta). The Load time PNG card gets two siblings: Performance A/B and the landing report. Each card names the sim build and the graphics card, the verdict word, the noise floor and the measured percentages, a fixed caveat line and "Measured by AVX Tune on this PC; Tune changed nothing." Drawn in the renderer from a pure spec (src/shared/result-card.ts), validated as PNG and written by the main process to the path you choose, exactly like the Load time card. A test asserts no card template ever carries a "+X FPS" headline.
  • Before you update the sim (protect.beforeUpdate, core). When the existing watcher sees an update queued in Steam (manifest state) or an update that landed in the last 48 h, the Dashboard shows one card per install: settings snapshot saved or not ("Snapshot now"), bindings backed up or not ("Back up bindings"), and the Community folder: with AVX Sorter installed (existing read-only presence check) a button opens Sorter's Guardian page through Sorter's own avx://open/guardian deep link; otherwise the card points at Health > Update Prep. Dismiss hides it until the next update. The watcher status now lists installs with a pending Steam update.
  • Next-flight suggestion (flightlog.nextFlight, Beta, OFF by default). Settings > Flight Log > "Suggest one setting to test after each flight". After a flight closes, one Dashboard card picks a single safe, observed, file-writing recommendation from the existing rules for the latest measured run, skipping anything already in an A/B session or dismissed. "Queue for next start" stores it in the queue the in-sim panel already uses (rec:<runId>:<recId>); on clean sim exit presets.ts applies it through the Performance A/B apply (sim-closed check, snapshot first, atomic write, A/B session opened) with its licence and kill-switch checks exactly as they were. "Not this one" dismisses for good. New IPC nextflight:get / nextflight:queue (write channel) / nextflight:dismiss with zod-checked ids.
  • Help: landing report, what "Inconclusive" means, result cards, before you update, next flight, verification matrix, OpenXR Toolkit; "I moved to a new PC" now links to #move-to-new-pc. The list of site anchors Tune may link to lives in help-content.ts (HELP_SITE_ANCHORS) and a test keeps every topic on it.

Changed

  • Panel protocol version 3 (landing server message). The in-sim panel shows one landing line in both layouts and reports version 1.4.0.
  • FlightRecord.landing (optional) and FlightSummary.landingVsFpm; flight-list CSV gains six landing columns at the end.
  • Settings: nextFlightSuggest (default off). Store: nextFlightDismissed.
  • Copy guard for 1.4 (src/shared/copy-guard-14.test.ts): no em dashes, no curly quotes, no frame-rate promises, no "first / only / best", no "booster / faster" in the new strings and screens.

SHA-256 AVX-Tune-Setup-1.4.0.exe: 9ABBF5F14949C01DA6213ABDD1510430C192CD8539DF04F00F3E8C3517DD27B6

AVX Tune 1.3.1

Choose a tag to compare

@avxsim avxsim released this 11 Oct 01:45
4f05d2c

AVX Tune 1.3.1: sound profiles and moving to a new PC

Sound Profiles (Beta). A new Sound page with named sets of the volume sliders the sim keeps in its settings file, for example Night, Streaming and Full. Each profile is a copy of your current values that you edit with sliders. Apply before launch only: the sim must be closed, Tune takes a snapshot first, and the change takes effect the next time the sim starts. Tune changes only the sliders the sim already has in its settings file. Aircraft sound packs and Windows volume are never touched. Output devices, spatial sound and Voice chat are read-only. Restore previous sound puts the snapshot back and also takes effect the next time the sim starts.

Move to a new PC (Beta). Settings > Licence has a three-step wizard: export one .avxtune file on the old PC, import it on the new one, then move the licence with the existing Move licence to this PC button. The file holds your graphics, sound and launch profiles and your Tune preferences. Not in the file: your licence key, snapshots, hardware details. Import applies nothing to the sim.

Tune never touches sim memory, injects code or installs drivers. It writes settings only while the sim is closed, after a snapshot, and restore is never blocked.

AVX Tune 1.3.1

Two customer requests, same rules as always: Tune writes settings only while the sim is closed, after a snapshot; restore is never blocked; nothing is changed while you fly; no online service is involved. Both features carry a Beta label in the feature registry.

Added

  • Sound Profiles (sound.profiles, Beta, on). A new Sound page with named sets of the volume sliders the sim keeps in the {Sound block of UserCfg.opt. The page shows exactly the keys that exist in your own file, with their current values; known names get a friendly label (Master, Music, Engines, Cockpit, Environment, Warnings, Voices, Radio, Aircraft misc, User interface, Other aircraft), everything else is shown with its raw key name. A profile is a copy of your current values that you edit with sliders; when the list is empty Tune offers three starter names (Night, Streaming, Full), each created from the values in your file, so nothing is invented. Apply before launch only: the button reads "Close the sim first" while the sim runs, Tune takes a snapshot, writes only the {Sound block, never adds, renames or removes a key, keeps every value in the shape the file uses (an integer stays an integer, a 0.0 to 1.0 float keeps its decimals), skips profile keys your file does not have and says so, and refuses the whole write if anything outside the block would change. Success text: Sound profile "Night" applied. It takes effect the next time the sim starts. "Restore previous sound" puts the pre-apply snapshot back and is never blocked by the licence, the kill switch or any guard. When you move a slider in the sim afterwards, the page shows "Changed in the sim since Tune applied it" with "Save as new profile" and "Re-apply". Read-only ("Tune leaves this one alone"): output-device and spatial-sound keys, Voice chat and any other online voice or multiplayer channel (a local profile must not mute other people), keys that appear twice in the block, and any key whose value Tune does not understand (text, booleans, leading zeros, out-of-range numbers). Before the write Tune checks the result byte for byte: the only bytes that differ are the value part of {Sound lines, line endings and whitespace are untouched, and the original file must round-trip through the parser unchanged; otherwise nothing is written. The sim-closed check and the file content are re-checked right after the snapshot, immediately before the write. A profile applies only to the install it was saved from. The remote kill switch applies per feature and per Sound/Key token like every other writing feature; when the feature is paused, the page still offers "Restore previous sound". Help entry; the support report lists the {Sound keys (names and values). Honest note on the page: "Tune changes only the sliders the sim already has in its settings file. Aircraft sound packs and Windows volume are never touched."
  • Move to a new PC (transfer.newPc, Beta). A three-step wizard under Settings > Licence. 1. Export Tune data: one file (.avxtune, JSON) with your graphics profiles, sound profiles, launch profiles, Tune preferences and feature choices. Not in the file: your licence key, UserCfg snapshots, hardware snapshots, tune states, registry journal, community token, tester data, and any folder path of the old PC. 2. Import Tune data: the file is checked against a strict schema (zod; files over 2 MB, wrong format, other version, unknown fields, odd ids or wrong shapes are refused with one plain sentence), profiles with an id already on this PC are left as they are, graphics profiles arrive tagged "from another PC" because they were made for the old hardware, launch profile app paths are stored as text and nothing is started or opened, anonymous usage data can be switched off by a file but never on, and nothing is applied to the sim. 3. Move licence to this PC: the existing sign-in flow, unchanged. File access happens in the main process only.

Notes

  • The exact {Sound key names were not taken from a real sim. Sound Profiles therefore read the keys from your own UserCfg.opt and never write a key that is not already there. The feature stays Beta until the key names, value shapes and start-up behaviour are confirmed on real MSFS 2020 and MSFS 2024 installs (Store and Steam). Tune never modifies aircraft sound files, Wwise packages, add-on content or Windows audio devices.
  • Sound is not added to the graphics profile sections; graphics profiles and Quick Tune do not carry sound values.

SHA-256 AVX-Tune-Setup-1.3.1.exe: 952862DE0443FC445498662692449BD69FFFAF6156F180DF6CA3403C420D099D

AVX Tune 1.3.0

Choose a tag to compare

@avxsim avxsim released this 11 Oct 00:43
4f05d2c

AVX Tune 1.3.0: measure the whole session

Load time (Beta). Measures how long the sim takes to start, launch to main menu and menu to flight ready, three runs per setup, two setups. No memory access. A verdict only when the ranges do not overlap, otherwise "No reliable difference". Cold and warm starts are never compared. Manual timing hotkey Ctrl+Alt+F7 for PCs where detection does not work; manual and automatic runs are never mixed. Result card as PNG or text.

VR runtime and layers (Beta). Read-only card on Health: active OpenXR runtime, every API layer, stale layers, a leftover OpenXR Toolkit layer, two rendering layers enabled at once, and which VR software is running.

Overlay layout for the in-sim panel (Beta): large FPS, frame time, 1% low and stutters; Standard stays the default. A Memory Integrity watch (Beta) whose card stays until you dismiss it, also across restarts. Warm-up labels (Beta) after a sim update or GPU driver change; those sessions are not counted.

Export for Little Navmap (Beta): Flight Log writes the logbook CSV that Little Navmap imports.

Fixed: wrong GPU detected. Tune picked the GPU from Windows driver entries and kept the one with the most video memory, so a card that had been swapped out could win and Quick Tune tuned for the wrong hardware. Detection now uses the adapters actually present, VRAM comes from the matching driver entry only, and every tune stores the hardware it was made for. If your hardware changed since the tune was applied, a card tells you and offers Re-run Quick Tune, Restore previous settings, or "That's not my GPU" to pick the card yourself; settings writes wait until you choose. Dates and relative times are now in one language.

Tune never touches sim memory, injects code or installs drivers. It writes settings only while the sim is closed, after a snapshot, and restore is never blocked.

AVX Tune 1.3.0

"Measure the whole session." Load time gets measured the way frame times already are: three runs per setup, medians and spread, an honest "no reliable difference" when the ranges overlap. Nothing here changes the rules: Tune never touches sim memory, injects code or installs a driver; it writes settings only while the sim is closed, after a snapshot; restore is never blocked; nothing is changed while you fly; no AI service is involved. Every new feature carries a Beta label in the feature registry.

Added

  • Load time (loadtime.ab, Beta, on). A new page that measures how long the sim takes to start: launch to main menu, and main menu to flight-ready, three runs per setup, two setups (A and B). Detection uses no memory access: the process list (tasklist, once a second, so the start carries a 1 s uncertainty), the sim window state and title from the same listing, and read-only SimConnect events (Sim, Pause, FlightLoaded, Frame) through the pure-JS client the Flight Log already uses. Menu-ready = SimConnect accepts a connection, the window is responsive, its title has been stable for 3 s and the Sim event is not yet 1. Flight-ready = Sim 1, not paused, first full second of frame events. Each run is labelled cold start (first sim start since Windows booted) or warm start, first launch today, and warm-up after a sim update (shown, never counted). A series is invalidated when the GPU driver, sim build, Memory Integrity, VBS, HAGS, power plan or the Community content hash (sha256 over folder names and manifest versions of Community and Community2024) changes between runs. Verdict: "Setup A starts N s faster (median of 3). Spread: A x s, B y s." only when the min to max ranges do not overlap, else "No reliable difference: the ranges overlap." Cold and warm starts are never compared with each other: a cold start in a series that also has warm starts is shown but not counted, and the rule never flips back within a series. Fallback hotkey Ctrl+Alt+F7 ("I see the menu", then "Fly pressed") for series created with manual timing; the hotkey is registered only while a manual-timing run is active. Those runs are labelled "manual timing" and are never mixed with automatic runs in one comparison (the series mode decides which signals count, run start refuses a mix, and the verdict refuses it again). Result card as PNG (drawn in the app, written by the main process to a path you choose) and as plain text, always with the caveat "Start-up time also depends on Microsoft's servers and on what Windows is doing in the background. Same PC, same day, three runs per setup. Measured by AVX Tune on this PC; Tune changed nothing." Setup A is prefilled from the AVX Sorter loadout hand-off (%APPDATA%\AVX\handoff\loadout.json, names only) when present. No file under the sim's folders is written during a series.
  • VR runtime and layers (vr.health, Beta, on). A read-only card on the Health page: the active OpenXR runtime (HKLM\SOFTWARE\Khronos\OpenXR\1\ActiveRuntime, mapped to SteamVR, Oculus / Meta, Windows Mixed Reality, Virtual Desktop, Pimax, Varjo), every implicit and explicit API layer under HKLM and HKCU with its enabled flag, stale layers (JSON or DLL gone), a leftover OpenXR Toolkit layer, two enabled layers that both change rendering ("Keep one"), Windows Mixed Reality on Windows 11 24H2 or later, and whether SteamVR, Oculus, Virtual Desktop, Pimax, Mixed Reality Portal or Varjo software is running. Everything comes from reg.exe query and the process list; there is no write channel. Only absolute local paths from the registry are checked on disk (no UNC, no traversal). It sits alongside tools such as VectorXR. The support report gains a VR section. Help has a German search alias ("Das Starten des VR-Modus ist fehlgeschlagen").
  • Overlay layout for the in-sim panel (panel.overlay, Beta; Standard stays the default). The toolbar panel gets a second layout: large FPS (median over 5 s), frame time in ms, 1% low over the last 60 s, stutters, source label ("sim-reported" or "PresentMon") and the two tag buttons. Switch with the Standard / Overlay button in the panel header or from Flight Log > In-sim panel; Tune stores the choice and tells every connected panel. Panel protocol 2 adds set-layout and the layout field; 1.2 panels keep working. No OpenXR layer, no rendering change.
  • Memory Integrity flip watch (watch.memoryIntegrity, Beta). From the October 2026 Windows update, Windows can switch Memory Integrity on by itself. Tune compares Memory Integrity, VBS and HAGS with its last check at startup and on the Dashboard and Health pages, and shows one card when something flipped: "Memory Integrity turned on since your last flight, probably by Windows Update. Measured impact on your PC: unknown. Fly one A/B pair to find out. The switch stays with you." Buttons: Measure it (A/B), Open Windows Security, Dismiss (hidden until the next change). The card stays until you dismiss it, also across Tune restarts; the same flip is never reported twice. Tune never toggles any of these.
  • Warm-up labelling (flightlog.warmup, Beta). The first two sessions after a sim version change or a GPU driver change, or until the first session longer than 10 minutes, are labelled "warm-up after sim update, not counted". Flight Log shows the label; per-aircraft suggestions and Load time verdicts leave those sessions out.
  • Export for Little Navmap (flightlog.lnmExport, Beta). Flight Log can write the logbook CSV Little Navmap imports (Logbook > Import CSV): the 36 columns from the Little Navmap manual, UTF-8 with BOM, English decimal point, local ISO times. Fields Tune does not know (fuel, weights, route, flight plan, sim time) stay empty. Marked Beta until one import is confirmed on a real Little Navmap install. Volanta and SimToolkitPro: their import formats are not public; use CSV.
  • Dashboard card "Already have A/B? Here is how to prove a settings change" pointing at the FPS benchmark (Performance A/B) and Load time, with a link to the method page; Dashboard card "New PC? Move the licence yourself"; sign-in screen says "Got a new PC? This is the button." above Move licence to this PC; Help entries for Load time, VR runtime and layers, the overlay, the Memory Integrity watch, the FPS benchmark method, logbook export and "I moved to a new PC"; Help page search box.
  • Wherever Tune mentions AVX Sorter it now shows the bundle: AVX Sorter + AVX Tune EUR 19.99 instead of EUR 22.98 (saves EUR 2.99); Sorter owners add Tune for EUR 6.99.

Fixed

  • Wrong graphics card after a GPU swap. A customer with an RTX 5070 (12 GB) saw "Quick Tune: Balanced (RX 7800 XT, 1440p)" and a terrain LOD budget for a 16 GB card. Root cause, in plain words: Tune read the graphics card from the Windows driver registry, where the entry for a removed card stays behind after a swap, and then kept the entry with the most video memory. The old 16 GB card always beat the new 12 GB one. Tune now takes the list of cards that are actually present from the same DXGI enumeration Chromium uses (app.getGPUInfo), trusts a registry entry only when a present card has the same vendor and device id, reads VRAM from the driver's 64-bit qwMemorySize value (dxdiag as the fallback; WMI AdapterRAM, which stops at 4 GB, is never used and a test fails if it appears), ignores the Microsoft Basic Render Driver and virtual adapters, and never uses "most memory" as a tiebreak. When it still cannot tell which card the sim uses it says so and offers "Not right? Choose adapter" on the Tune and Performance pages; a Quick Tune preset is refused until a card is chosen.
  • Hardware recorded with every tune, checked on every launch. Each applied tune now stores the GPU, VRAM, CPU and primary resolution it was computed for (tunes from earlier versions are shown as "hardware unknown"; the card name is read from the tune label where possible). When anything differs, the Dashboard and the Tune page show a card that can...
Read more

AVX Tune 1.2.1

Choose a tag to compare

@avxsim avxsim released this 09 Oct 22:30
4f05d2c

AVX Tune 1.2.1

Sign-in fix. No change to what Tune writes or when.

Fixed

  • Sign-in sends your licence key to the licence server exactly as you type it. 1.1.1 changed the key's letter case and shape before sending, and the licence server treats the key as your account password, so a key first activated in lower case was refused with "Password does not match". The "Key format looks wrong" pre-check is gone too: the licence server's answer is the only answer.

SHA-256 AVX-Tune-Setup-1.2.1.exe: 3D0D949EAA894F88F5E0E925B769D91CDBF43BD9C689A18052E91C0691C5621C

AVX Tune 1.2.0

Choose a tag to compare

@avxsim avxsim released this 07 Oct 23:50
4f05d2c

AVX Tune 1.2.0

Flight Log release. Every new feature is behind a Beta flag in the feature registry and is off until you turn it on. Nothing here changes the rules: Tune never touches sim memory, injects code or installs a driver; it writes settings only while the sim is closed, after a snapshot; restore is never blocked; it never writes to the Store wgs or Steam remote containers while the sim runs; it never generates control profile XML.

Added

  • Flight Log (flightlog, Beta, off by default). An optional background logger that connects to MSFS over SimConnect when the sim starts, read-only, using the pure-JS node-simconnect client (no SDK DLL, no native addon). It subscribes to the Frame, Pause, Sim and Quit system events and requests aircraft title, position, altitude, ground state, ground speed, vertical speed and category at 1 Hz. Frame events are downsampled to one-second aggregates (count, mean, min, p95, p99 of the frame interval) and labelled "sim-reported". Each flight records start and end, aircraft, departure and arrival (nearest airport from a compact table shared with AVX Sorter, else coordinates), sim version, VR / 2D / unknown, the hash of UserCfg.opt and a readable diff against the previous flight ("Terrain level of detail 200 to 150"), per-phase stats (ground, climb, cruise, approach), median FPS, 1% low, p95 / p99, stutter count (frame longer than 2x the median). Pause, menus and time acceleration are excluded; seconds with fewer than 0.5 Hz of samples are flagged instead of counted. Two flights can be compared side by side; flights export as CSV and JSON; the logger reports its own CPU use ("logger used 0.4% CPU"). The tray shows when the logger is on and logging. Local only.
  • Flight Log with PresentMon (flightlog.presentmon, Beta). When the Performance Log Users setup is done, the logger can run the hash-verified PresentMon sidecar for true frametimes; such flights are labelled "PresentMon". The logger never asks for admin.
  • In-sim toolbar panel (panel.insim, Beta, off by default). A Community package (avx-tune-panel) that shows the live Flight Log summary in the sim, lets you tag the flight ("felt smooth", "stuttery", a note) and queue a preset for the next sim start. It talks to Tune on 127.0.0.1 over a WebSocket with a random port and token written into the package at install time. Tune installs it into your Community folder only while the sim is closed, journals every file it writes, generates a correct layout.json, and leaves a hand-off note for AVX Sorter when Sorter is present. The panel reports "panel loaded" back to Tune as a self-test. Presets queued from the panel are applied after the sim closes (snapshot first), because MSFS rewrites UserCfg.opt on exit. Desktop shortcuts Ctrl+Alt+F8 (felt smooth) and Ctrl+Alt+F9 (stuttery) tag the flight on sim builds where custom toolbar panels do not show (MSFS 2024 SU2 hide class).
  • Bindings drift alert (bindings.drift, Beta). Point Tune at the folder you export control profiles to (Settings > Controls > gear > Export), mark it as known good, and Tune compares it after a Sim Update or on demand, per device and profile ("Bravo / Airliner: AXIS_THROTTLE1_SET removed, TOGGLE_ENGINE1 (Ctrl+E) added"). One nudge per sim version. "Restore last good" guides through the sim's own Import (same device and category). A raw wgs / Steam remote copy through the vault stays available as a last resort, sim closed only.
  • In-app help (help). A Help page (backup, restore, Flight Log, in-sim panel, bindings drift, what Tune never touches), a ? link on every screen to avxsimulations.com/docs/tune#<section>, and an FAQ including "Does Tune use AI?" (no; measurement, diffs and rule-based suggestions from local data only; nothing is sent to an AI service).
  • VR / Monitor presets (presets.vrMonitor, Beta). One click writes a headset-friendly GraphicsVR tree or a desktop Graphics tree, sim closed, snapshot first, numeric keys only, values validated against fixed ranges, keys the file does not have are skipped. Each application is tied to the flights the Flight Log records on that exact settings hash. The Tune page lists the MSFS 2024 VR keys the in-game menu does not show, with validated ranges and your current values; enum and flag keys are shown but never written.
  • Per-aircraft suggestion (flightlog.aircraftSuggest, Beta). From your own flights: which settings hash gave the best 1% low for each aircraft over at least two flights. Suggest only; nothing is applied.

Changed

  • New snapshot trigger vr-preset ("Before VR / Monitor preset") on the Timeline.
  • Settings > General has the Flight Log toggles. Settings keys added: flightLogEnabled, flightLogUsePresentMon, bindingsExportFolder (all off / empty by default).

SHA-256 AVX-Tune-Setup-1.2.0.exe: EF3EB99C72FE0322D23A8C90A397A3903C1D0891FE7A31D03115CD45AC7FEE17

AVX Tune 1.1.1

Choose a tag to compare

@avxsim avxsim released this 07 Oct 23:16
4f05d2c

AVX Tune 1.1.1

Hotfix for the 1.1.0 launch problem plus a sturdier safe-launch path. Nothing here touches the simulator any differently: writes still happen only while the sim is closed and after a snapshot; restore is never blocked by licensing, flags or rendering mode.

Fixed

  • The licence window no longer flashes and vanishes when AVX Tune is started while another AVX Tune is already running in the tray (for example from AVX Sorter's "Open Tune" button or the desktop shortcut). The second process used to lose the single-instance lock and still build its tray icon, window and update watcher before quitting; it now exits at once and the running instance is brought to the front instead. --navigate=<section> from AVX Sorter is honoured.
  • Identity check: AVX Tune and AVX Sorter use different app ids, taskbar ids, data folders, single-instance locks, installer GUIDs and shortcut names. A test now reads both projects' build files and fails if any of these ever collide.

Added

  • Graphics compatibility now has four steps instead of an on/off switch: Automatic, DirectComposition off, GPU compositing off, Software rendering. When the window fails to draw, AVX Tune moves one step at a time (at most once per 24 hours per step) and only shows an error after software rendering also fails. Settings > General > Graphics compatibility has the dropdown and a Restart now button. Ctrl+Shift+S while the window is focused moves one step and restarts, which also works on a black window. --gpu-mode=<step> and the existing --safe-mode start are honoured even while a normal window is open. The old render-mode.json values still load (safe becomes software rendering).
  • Support report, Render section: single-instance lock result, window lifecycle events (ready to show, show, hide, close, closed, unresponsive), watchdog decisions, the per-step auto-switch history, and for every display the scale factor, refresh rate, colour depth, bits per component and an HDR flag.
  • Support report, Update section: the last 20 update checks (time, feed address without tokens, result, version seen, checksum prefix, signature result). After two failed checks in a row the Dashboard card says "Update failed. Download the installer." with the plain reason and a link to the installer. An update feed that offers an older or equal version is refused and logged. A build older than the oldest supported version shows one native dialog (Download / Continue) before the window opens; offline PCs start as usual.
  • Licence key entry: the key is cleaned before anything is sent (spaces, unusual dashes, lower case, a key pasted without dashes). A key with the wrong shape is refused on the spot with a short reason, including "That looks like an AVX Sorter key". The support report lists only the masked shape of the last key tried, never the key.

SHA-256 AVX-Tune-Setup-1.1.1.exe: 1A1A751EBE669B2F014B27FCFFE7C519B88604C16A280BC25BAE533BC0E42AB9

AVX Tune 1.1.0

Choose a tag to compare

@avxsim avxsim released this 07 Oct 22:02
4f05d2c

AVX Tune 1.1.0

October 2026 support pass (T1–T3, S5, W1 client, S2 card). Nothing here touches the simulator any differently: writes still happen only while the sim is closed and after a snapshot; restore is never blocked by licensing, flags or rendering mode.

Fixed

  • Activation no longer fails with "clock drift" when the PC clock is a little off. The licence response's signature is verified first (it does not depend on your clock); a clock that is 5 minutes to 24 hours off signs you in and shows "Your PC clock is N minutes off — Windows Settings → Time & language → Sync now" with a button that opens that page; only a clock more than 24 hours off is refused, with the same guidance. The 14-day offline grace is now judged against licence-server time with a 24-hour tolerance (was 60 seconds).
  • Leftover files from an uninstalled Microsoft Flight Simulator 2020 (a stray Packages\Microsoft.FlightSimulator_… folder, or a UserCfg.opt without a Steam manifest or packages on disk) no longer show up as an installed sim. A Store install now needs the registered package or an existing Official folder; a Steam install needs its manifest or its packages folder. Leftovers are hidden by default; Settings → General → "Show leftover installs" lists them labelled "Leftover files from an uninstalled sim". Snapshots, tuning and cleaning never target a leftover.

Added

  • Compatibility rendering (same design as AVX Sorter). If the window has not drawn 8 seconds after loading, AVX Tune restarts itself with graphics acceleration and DirectComposition off and remembers that in render-mode.json; a graphics-process crash twice in one session does the same. Automatic switches happen at most once per 24 hours; a second failure shows a plain error dialog instead of looping. New Start-menu entry "AVX Tune (safe mode)" (works even while a normal window is already open), Settings → General → "Hardware acceleration" toggle with "Restart now", a banner while compatibility rendering is active, and blur effects are turned off in that mode so software rendering stays quick at 4K. A --tray start never arms the watchdog.
  • Support report v2: the support zip, Health report and Help → Report a problem now carry the same sections as AVX Sorter — Header (version, Electron, OS), Render (mode and reason, GPU vendor/device, GPU feature status, displays with scale/refresh/colour depth), Update (current, last check, offered version, error), Licence (online/offline, grace days, read-only, hardware-id source only), Sim summary, Recent actions (last 20 snapshot / apply / restore actions) and Last crash. Update checks are now recorded so support can see why an update did not arrive.
  • Licence seats in-app: Settings → Licence shows "This key is active on N of 2 PCs" and "Deactivate this PC" frees the seat on the licence server before signing out. When a key is bound to another PC, the sign-in screen offers "Move licence to this PC" (one click; 3 moves per 30 days). Reaching the cap shows a plain message with a support link. Hardware ids are never shown.
  • "You are on 1.x; 1.y is current" card on the Dashboard when this install is two or more minor versions behind and auto-update is failing or has not succeeded in 30 days. It links to the installer download and can be dismissed; it never blocks anything, and an outage of the version service shows nothing.
  • The login activity ping now includes the app version.

Changed

  • Settings → Licence: "Deactivate this PC" now releases the seat on the server; "Sign out only" keeps the old local-only behaviour.

SHA-256 AVX-Tune-Setup-1.1.0.exe: 2D85DA782B36F760A90588613374917F9486051C13ED7C32D98ECF5AD90B0F48

AVX Tune 1.0.0

Choose a tag to compare

@avxsim avxsim released this 27 Sep 02:01
4f05d2c

AVX Tune 1.0.0 — Measured, not promised.

Back up, measure, and prove what actually helps your sim. AVX Tune snapshots your MSFS settings before anything changes, measures frame times with Intel PresentMon 2.6, and tells you whether a change helped, made no difference, or made things worse — or rolls it back.

Core (supported everywhere)

  • Protect — snapshots of UserCfg.opt and control bindings before every change, one-click restore (itself snapshotted), last-known-good tracking. Restore works even without a licence check.
  • Measure — same-circuit A/B with a verdict: keep / roll back / inconclusive, using a noise floor from your own A-vs-A variance, run-pair dominance and a bootstrap 90 % CI. Frame generation is labelled honestly; dynamic FG without tags reports "base FPS unavailable".
  • Sim Update watcher — pre-update snapshot, then a key-by-key "What changed" diff with restore.
  • Health — read-only checks incl. Memory Integrity, HAGS, page file, conflicting live tuners, settings changed outside Tune; redacted support report.
  • Clean — conservative cache cleaner; the next run after a clean is excluded from A/B.

Beta (labelled in-app; same snapshot-first safety)

  • Quick Tune presets and the settings editor — only write menu values observed in a real UserCfg.opt on your sim build (see Health → Safety table). Everything else is a manual step.
  • Profiles, Launch profiles, X-Plane advice (never writes X-Plane files).

Safety rules built in

Never touches sim memory · no injection · no drivers · never writes HKLM · never toggles Memory Integrity/HAGS/page file · writes only with the sim closed, after a snapshot, with a lossless merge · never writes InstalledPackagesPath or VR keys · remote kill switch can only ever disable.

Licence

2 PCs per key · works offline 14 days after each check · measurement and restore never blocked by licensing.

Verified editions

MSFS 2024 Store: verified end-to-end. MSFS 2024 Steam and MSFS 2020: beta (same file format; report results). X-Plane: advice-only.


SHA-256 AVX-Tune-Setup-1.0.0.exe: 6FC65C52860F80F2470E0DBAB3108B97FD430890641C51AD617CA0961984FF0E
Signed: FuseBoss Technologies LLC (Azure Trusted Signing), timestamped. Windows SmartScreen may show "unrecognized app" on a brand-new file — see https://avxsimulations.com/download.html#blocked.
Report a problem: Help → Report a problem in the app, or support@avxsimulations.com.

AVX Tune 1.0.0-beta.1 - trust fixes before launch (beta channel)

Choose a tag to compare

@avxsim avxsim released this 25 Sep 21:18
4f05d2c

AVX Tune 1.0.0-beta.1 — trust fixes before launch

Beta channel. Settings → Updates → channel "Beta" to receive this build; stable users stay on 0.1.1.

Fixed — the app no longer sounds sure where it was guessing

  • Texture Quality polarity. The UserCfg.opt token is a mip-skip count: 0 = Ultra … 3 = Low. Quick Tune, the editor and the measured recommender had it backwards; all three now read and write it correctly (test-covered, fixture from a live 2024 file).
  • VRAM estimate v2. A range (rural → dense airport), labelled estimate, built from resolution-scaled base, texture tier, TLOD × trees, OLOD, render targets at the internal DLSS/FSR resolution, a small resolution-scaled frame-generation term and OS headroom. It moves when anything relevant changes. It warns, never blocks — a measured flight is the only thing that can escalate it. RTX 3080 / 1080p / TLOD 110 / High textures now estimates ≤ 10 GB.
  • Anti-aliasing by resolution. 1080p → TAA (Smooth/Balanced) or DLAA (Scenic); 1440p / 4K → DLSS Quality. DLSS at 1080p (renders ~720p) is only suggested after a measured GPU-bound verdict (≥ 70 % of the run), and every rationale states the internal render resolution. DLSS preset advice: Preset K on RTX 20/30, "Recommended" on RTX 40/50 (advice only — driver profiles are never written).
  • Preset monotonicity. Smooth never raises any setting; Balanced never raises GPU/VRAM-costly items (clouds, shadows, textures, pre-caching, render scale). Terrain shadows: Smooth 256, Balanced ≤ 512, Scenic 1024.
  • NVIDIA shader cache. %LOCALAPPDATA%\NVIDIA\DXCache is the current cache (drivers 571.86+); the LocalLow PerDriverVersion folder is legacy and pre-selected only when it holds stale files. Caches written in the last 7 days show in use, need typed confirmation, and warn about first-flight stutter. Clean is grouped: In use / Clears with side-effects / Safe to clear.
  • Templates are intents. Low-VRAM, Airliner, Bush and VR go through the same tier caps → VRAM guard → observed-key filter → writable-token check as Quick Tune; skipped keys are listed.
  • Status consistency. The top-bar pill's "last check" reads the Health run time; Licence shows Not activated until validated and never invents "Lifetime"; the baseline button explains why it is disabled when the sim is not running.
  • Per-install status replaces the punitive score: Protected / Needs attention / Not in use (auto after 30 days without a sim exit, or "I don't fly this"). Optional items never make an install "needs attention"; the header reflects the worst active install.
  • No PowerShell at runtime for probes: Store AUMID via the HKCU AppModel repository + AppxManifest, laptop detection via the ACPI battery device + Electron powerMonitor, PresentMon integrity via a build-time SHA-256 sidecar. A test bans new PowerShell spawns (two documented exceptions: the explicit elevation to grant capture permission, and the SMBIOS UUID that feeds the licence HWID).
  • Windows tweak cards show the live state (Not applied / Applied by AVX / Already set / Can't read), one action, a "What this changes" disclosure with the exact HKCU values, and the journal date.
  • Cost dots use Okabe–Ito colours with a legend; X-Plane's advice-only status is explained on the Dashboard; tray menu gains Snapshot all, Restore last known good…, Open Tune.
  • Release gate. npm run dist now fails unless package.json, latest.yml, the installer name, the installer's file version and the PresentMon hash sidecar agree.

AVX Tune 0.3.0-beta.1 — Quick Tune + UI overhaul

New: Quick Tune (no test flight needed)

  • Recommended for my PC — Smooth / Balanced / Scenic presets estimated from your GPU + VRAM, CPU class, resolution and laptop/desktop. Plain-English before → after table with the reason, evidence and CPU/GPU/VRAM cost per change. A VRAM guard drops any change that would push the estimate past your card. Labelled estimated — not measured; one click to verify with a measured flight.
  • Adjust myself — friendly settings editor: detail distance, clouds, textures & VRAM, shadows, upscaling, frame generation, traffic, environment, display. Sliders use the sim's own ranges; dropdowns only offer tokens the sim has been seen to write; read-only rows say "set this in the sim". Live VRAM estimate gauge, amber warnings, pending-changes bar with review, "Reset to how it was". VR settings only after an explicit switch.
  • Same safe path as everything else: sim closed → snapshot → lossless merge → atomic write → read-back → post-exit "sim kept it" check. Timeline entries auto-named ("Before Quick Tune: Balanced (RTX 3080, 1080p)").

UI overhaul

  • First-run setup: detect → protect → choose Quick Tune or a measured flight → done (re-runnable from Settings).
  • Top-bar status per install: Protected · Tuned (estimated / Measured) · last check.
  • Dashboard: Sim Health 0–100 with "how to reach 100", real protection states with dates, performance row, primary Tune button.
  • Performance: 3-step wizard (Get ready → Fly → Verdict) with an example verdict before the first run; A/B sessions and Windows tweaks in tabs; verdicts show the run-level p-value.
  • Timeline: identical snapshots collapsed, filter chips, human-readable restore preview.
  • Profiles: templates (Low-VRAM 8 GB, Airliner, Bush, VR), side-by-side compare, .avxprofile import/export with checksum, "Save Quick Tune result / measured-best".
  • Bindings: search, group by device, per-preset diff between snapshots. Launch: templates and conflict warnings (live tuners, Lossless Scaling). Health: every warning links to its fix.
  • Settings: General / Updates / Storage (move store: copy → verify → switch) / Licence (masked key) / Privacy / About.
  • Accessibility: visible keyboard focus, labelled controls, reduced-motion support; every page verified at 1180×760 and 1920×1080 with zero serious/critical axe violations and no horizontal scroll.

AVX Tune 0.2.0-beta.2 — Performance, measured (trust fixes)

beta.2 — correctness and trust

  • Run-level statistics. The run is the unit of evidence. Keep only if the median 1% low or average beats the noise floor (max of 3% and the measured A-vs-A spread), ≥ 85% of after-vs-baseline run pairs agree, and nothing else worsens. A run-level bootstrap gives a 90% "likely range". 1 run per side is always inconclusive; the app asks for one more A-B pair instead of silently rolling back. New metric: time spent above 33 ms. Null-data simulation: false-keep rate ≤ 5%.
  • Frame-generation honesty. PresentMon only tags generated frames for XeFG / AMD FMF. The FG state (FrameGeneration + NBFramesToGenerate, or 2020 DLSSG) is read from UserCfg.opt at capture start and end; when frames are untagged, base FPS is estimated as displayed ÷ (multiplier + 1) and labelled so. FG-on vs FG-off runs are never compared — the verdict is "Not comparable".
  • HAGS-aware attribution. With HAGS on, 0.5 ms is subtracted from GPU-busy (Intel's documented skew) and confidence is capped at medium. A narrow plurality of windows is now reported as "mixed" instead of a diagnosis.
  • Enum safety table. The recommender can only write tokens observed in a live UserCfg.opt or quoted verbatim from real files (TAA, DLSS, DLAA, DLSSMode AUTO/QUALITY/BALANCED/PERFORMANCE, FSRFG, NONE, …). Anything else — including DLSS frame generation, whose token is still unharvested — is shown as a manual step in the sim's Options. scripts/harvest-tokens.mjs diffs the file after each in-game change to grow the table.
  • Live-tuner detection. MSFS_AutoFPS, DynamicLOD, AeroTune and Lossless Scaling running during a capture mark the run; such runs block the A/B verdict. Health explains that the NVIDIA App's auto-optimise can rewrite settings.
  • GPU preference tweak. Resolves the Store AUMID from the installed package manifest at runtime, edits only the GpuPreference pair (Auto HDR etc. preserved), refuses to revert a value that was changed outside AVX Tune, and is hidden on single-GPU systems.
  • Build identity. Settings and the support report show version (git hash); Updates shows the installed channel and warns when a pre-release runs on the Stable channel.
  • Readiness panel names the PresentMon signer (Intel or our pipeline) and states plainly what DLSS FG needs. Sidebar: "Measure · Tune · Protect"; footer shortened.

New: Performance page — measure → fix → re-measure

  • Benchmark capture with Intel PresentMon (open source, bundled, SHA-256 verified): per-frame CPU-busy / GPU-busy / display times from Windows ETW. Nothing is injected into the sim and its memory is never read.
  • Bottleneck attribution per second, majority-voted: GPU-bound, main-thread-bound, VRAM-limited, streaming hitches, or frame-capped — with confidence and a plain-language explanation. 1 Hz telemetry from nvidia-smi / PDH (VRAM, GPU utilisation, disk latency).
  • Results: average, rendered vs displayed FPS when frame generation is on, 1% / 0.1% lows, stutter count, smoothness score, frame-time ribbon.
  • Recommendations driven by the measurement (MSFS 2020 / 2024): Terrain/Objects LOD and traffic for main-thread limits; DLSS / DLAA, clouds, ray-traced and shadow-map sizes for GPU limits; texture resolution and pre-caching for VRAM limits; storage advice for streaming; "you're capped — nothing to fix" when that is the truth. Every change is clamped to the in-game UI range and comes with its evidence.
  • A/B sessions: apply with the sim closed (snapshot first), fly the same circuit, capture an "after" run. Kept only if average or 1% lows improve beyond the run-to-run noise (≥ 3%) without the other getting worse by more than 2%; otherwise one click rolls back to the pre-change snapshot. After the next sim exit AVX Tune reports which values the sim kept and which it rewrote.
  • Windows tweaks, journaled: run the sim on the high-performance...
Read more

AVX Tune 0.3.0-beta.1 - Quick Tune + UI overhaul (beta channel)

Choose a tag to compare

@avxsim avxsim released this 25 Sep 16:41
4f05d2c

AVX Tune 0.3.0-beta.1 — Quick Tune + UI overhaul

Beta channel. Settings → Updates → channel "Beta" to receive this build; stable users stay on 0.1.1.

New: Quick Tune (no test flight needed)

  • Recommended for my PC — Smooth / Balanced / Scenic presets estimated from your GPU + VRAM, CPU class, resolution and laptop/desktop. Plain-English before → after table with the reason, evidence and CPU/GPU/VRAM cost per change. A VRAM guard drops any change that would push the estimate past your card. Labelled estimated — not measured; one click to verify with a measured flight.
  • Adjust myself — friendly settings editor: detail distance, clouds, textures & VRAM, shadows, upscaling, frame generation, traffic, environment, display. Sliders use the sim's own ranges; dropdowns only offer tokens the sim has been seen to write; read-only rows say "set this in the sim". Live VRAM estimate gauge, amber warnings, pending-changes bar with review, "Reset to how it was". VR settings only after an explicit switch.
  • Same safe path as everything else: sim closed → snapshot → lossless merge → atomic write → read-back → post-exit "sim kept it" check. Timeline entries auto-named ("Before Quick Tune: Balanced (RTX 3080, 1080p)").

UI overhaul

  • First-run setup: detect → protect → choose Quick Tune or a measured flight → done (re-runnable from Settings).
  • Top-bar status per install: Protected · Tuned (estimated / Measured) · last check.
  • Dashboard: Sim Health 0–100 with "how to reach 100", real protection states with dates, performance row, primary Tune button.
  • Performance: 3-step wizard (Get ready → Fly → Verdict) with an example verdict before the first run; A/B sessions and Windows tweaks in tabs; verdicts show the run-level p-value.
  • Timeline: identical snapshots collapsed, filter chips, human-readable restore preview.
  • Profiles: templates (Low-VRAM 8 GB, Airliner, Bush, VR), side-by-side compare, .avxprofile import/export with checksum, "Save Quick Tune result / measured-best".
  • Bindings: search, group by device, per-preset diff between snapshots. Launch: templates and conflict warnings (live tuners, Lossless Scaling). Health: every warning links to its fix.
  • Settings: General / Updates / Storage (move store: copy → verify → switch) / Licence (masked key) / Privacy / About.
  • Accessibility: visible keyboard focus, labelled controls, reduced-motion support; every page verified at 1180×760 and 1920×1080 with zero serious/critical axe violations and no horizontal scroll.

AVX Tune 0.2.0-beta.2 — Performance, measured (trust fixes)

beta.2 — correctness and trust

  • Run-level statistics. The run is the unit of evidence. Keep only if the median 1% low or average beats the noise floor (max of 3% and the measured A-vs-A spread), ≥ 85% of after-vs-baseline run pairs agree, and nothing else worsens. A run-level bootstrap gives a 90% "likely range". 1 run per side is always inconclusive; the app asks for one more A-B pair instead of silently rolling back. New metric: time spent above 33 ms. Null-data simulation: false-keep rate ≤ 5%.
  • Frame-generation honesty. PresentMon only tags generated frames for XeFG / AMD FMF. The FG state (FrameGeneration + NBFramesToGenerate, or 2020 DLSSG) is read from UserCfg.opt at capture start and end; when frames are untagged, base FPS is estimated as displayed ÷ (multiplier + 1) and labelled so. FG-on vs FG-off runs are never compared — the verdict is "Not comparable".
  • HAGS-aware attribution. With HAGS on, 0.5 ms is subtracted from GPU-busy (Intel's documented skew) and confidence is capped at medium. A narrow plurality of windows is now reported as "mixed" instead of a diagnosis.
  • Enum safety table. The recommender can only write tokens observed in a live UserCfg.opt or quoted verbatim from real files (TAA, DLSS, DLAA, DLSSMode AUTO/QUALITY/BALANCED/PERFORMANCE, FSRFG, NONE, …). Anything else — including DLSS frame generation, whose token is still unharvested — is shown as a manual step in the sim's Options. scripts/harvest-tokens.mjs diffs the file after each in-game change to grow the table.
  • Live-tuner detection. MSFS_AutoFPS, DynamicLOD, AeroTune and Lossless Scaling running during a capture mark the run; such runs block the A/B verdict. Health explains that the NVIDIA App's auto-optimise can rewrite settings.
  • GPU preference tweak. Resolves the Store AUMID from the installed package manifest at runtime, edits only the GpuPreference pair (Auto HDR etc. preserved), refuses to revert a value that was changed outside AVX Tune, and is hidden on single-GPU systems.
  • Build identity. Settings and the support report show version (git hash); Updates shows the installed channel and warns when a pre-release runs on the Stable channel.
  • Readiness panel names the PresentMon signer (Intel or our pipeline) and states plainly what DLSS FG needs. Sidebar: "Measure · Tune · Protect"; footer shortened.

New: Performance page — measure → fix → re-measure

  • Benchmark capture with Intel PresentMon (open source, bundled, SHA-256 verified): per-frame CPU-busy / GPU-busy / display times from Windows ETW. Nothing is injected into the sim and its memory is never read.
  • Bottleneck attribution per second, majority-voted: GPU-bound, main-thread-bound, VRAM-limited, streaming hitches, or frame-capped — with confidence and a plain-language explanation. 1 Hz telemetry from nvidia-smi / PDH (VRAM, GPU utilisation, disk latency).
  • Results: average, rendered vs displayed FPS when frame generation is on, 1% / 0.1% lows, stutter count, smoothness score, frame-time ribbon.
  • Recommendations driven by the measurement (MSFS 2020 / 2024): Terrain/Objects LOD and traffic for main-thread limits; DLSS / DLAA, clouds, ray-traced and shadow-map sizes for GPU limits; texture resolution and pre-caching for VRAM limits; storage advice for streaming; "you're capped — nothing to fix" when that is the truth. Every change is clamped to the in-game UI range and comes with its evidence.
  • A/B sessions: apply with the sim closed (snapshot first), fly the same circuit, capture an "after" run. Kept only if average or 1% lows improve beyond the run-to-run noise (≥ 3%) without the other getting worse by more than 2%; otherwise one click rolls back to the pre-change snapshot. After the next sim exit AVX Tune reports which values the sim kept and which it rewrote.
  • Windows tweaks, journaled: run the sim on the high-performance GPU (laptops) and turn off Game Bar background recording. HKCU only, no admin, exact previous values restored on revert.
  • Readiness panel: PresentMon integrity, capture permission (one-time "Performance Log Users" setup or per-run admin prompt), GPU/VRAM, DLSS frame-generation readiness incl. HAGS state, laptop/battery, hybrid CPU.
  • Frame-generation guidance: DLSS FG offered only on RTX 40/50 with HAGS on (flagged "verified after next flight"); FSR 3 FG offered on other GPUs with > 8 GB; VRAM cost explained for 8 GB cards.

Fixed

  • Graphics profiles and diffs now key settings by their full section path (Graphics/Terrain vs GraphicsVR/Terrain). Previously nested sections collided and profiles captured only top-level keys.
  • Human labels for the real MSFS 2024 nested keys (Terrain LOD, Volumetric clouds, Shadow map resolution, …).

Positioning

"Measured, not promised." AVX Tune benchmarks before and after every change on your PC and shows the result. It still never touches sim memory, never injects, never runs a kernel driver, and never toggles Memory Integrity, HAGS or the page file.

Known limits of this beta

  • X-Plane recommendations are advice-only until the .prf key discovery pass is done on a live install.
  • NVIDIA driver-profile settings (power mode, shader cache size) and the DLSS preset override are not automated yet.
  • Verified on MSFS 2024 (Store) + X-Plane 11/12 detection; the capture path is exercised on real PresentMon output but needs your RTX PC for a full sim run.