WIP Beta released HiStakes - 60+FPS SDF/CEF Hybrid All-in-One HUD system 0.1.7a

60+FPS Smooth Fully-Customizable Gauges and MFD for Ground/Air Vehicles

  1. DasSheep

    DasSheep
    Expand Collapse

    Joined:
    Nov 16, 2013
    Messages:
    80
    This is a discussion thread for bug reports/support/suggestions (for more details, please see the Overview page). You can also use the Discord thread on the official BeamNG Server here

    upload_2026-8-17_15-28-42.png ​


    Background:

    This project largely came about because of how the game throttles Chromium Embedded Framework (CEF) frame rates, typically to 30 FPS, to reduce the impact of the UI layer on the game's simulation. While this was a necessary optimization when BeamNG went public in 2013, modern CPUs and GPUs have become substantially more performant. As evident in v0.37, the vanilla minimap was rewritten to be entirely SDF/TDP (TextureDrawPrimitive) based, allowing it to update every frame with the game and sidestep CEF throttling limitations entirely

    However, adapting a system tailor-made for a minimap renderer to function as a gauge system revealed several technical "quirks," which led to the hybrid three-layer rendering model:

    • Layer 0 (CEF DOM): Handles app lifetime, settings UI, and non-real-time elements like MFD page tabs.
    • Layer 1 (JS Canvas2D): Renders static elements (gauge faces, ticks, and labels) only when settings or vehicles change, caching them to an offscreen buffer to save CPU cycles.
    • Layer 2 (Lua SDF/TDP): Renders real-time elements (needles, peak witnesses, and cruise markers) at full simulation speed directly above the CEF layer.
    Early Preview (not final):




    KNOWN ISSUES
     

    Attached Files:

    • upload_2026-8-21_23-44-50.png
    • upload_2026-8-21_23-55-35.png
    • upload_2026-8-22_0-12-41.png
    • upload_2026-8-22_0-15-41.png
    • upload_2026-8-22_0-22-7.png
    • upload_2026-8-22_0-24-12.png
    • upload_2026-8-24_17-50-47.png
    • upload_2026-9-7_20-1-27.png
    • upload_2026-9-11_22-10-49.png
    #1 DasSheep, Jun 22, 2026
    Last edited: Oct 5, 2026
    • Like Like x 12
    • Agree Agree x 3
  2. mambamambo69

    mambamambo69
    Expand Collapse

    Joined:
    Nov 16, 2018
    Messages:
    62
    This would be a very nice QoL mod
     
    • Like Like x 3
  3. DasSheep

    DasSheep
    Expand Collapse

    Joined:
    Nov 16, 2013
    Messages:
    80
    Hey y'all! Here's a little something to tide you over. I've ported the vanilla Tacho2 and ForcedInduction apps over to the SDF/CEF hybrid system, a taste of what's coming.

    Video comparison: Left is SDF port and Right is Vanilla
     
    #3 DasSheep, Jun 27, 2026
    Last edited: Aug 28, 2026
    • Like Like x 5
    • Agree Agree x 2
  4. maxie_furry

    maxie_furry
    Expand Collapse

    Joined:
    Apr 13, 2021
    Messages:
    307
    damm
     
    • Like Like x 1
  5. MPROx98

    MPROx98
    Expand Collapse

    Joined:
    Aug 27, 2017
    Messages:
    29
  6. DasSheep

    DasSheep
    Expand Collapse

    Joined:
    Nov 16, 2013
    Messages:
    80
    Thank you! When I started the project about 3~4 months ago, it was a pure CEF-based UI project I was also annoyed by the lag/throttling on the CEF layer. Until I started looking at the (v0.37) vanilla minimap, which led me to discover that it wasn't using CEF at all, but rather it is Lua-based. That's when it clicked for me that it could be used to animate elements of the gauges.

    I think it's doable, but it will require a significant rewrite, as the caveat is that you are essentially splitting programming work between Lua and JS (Vue or Angular). TextureDrawPrimitive (SDF) is the main renderer for the smoothly moving elements, and CEF drives everything else underneath it, so it's never affected by the CEF throttling.

    The main issue with using TDP is that it always draws above the CEF layer (with transparency support), and it lacks all of the niceties that come with authoring in the UI layer in JS. You will need to deal with composition, life cycle management, and communication between Lua and JS, and all the quirks that come with it. I basically have to reinvent a lot of things. Basic stuff like adding fonts becomes quite a headache when working under TDP. One benefit of working under Lua is that you can pretty much poll whatever data in VE/GE you want, so you can display whatever metrics you want as long as you can hook into the source/write a data bus for it.

    Another main issue is that the devs stated TDP/SDF is still under active development, so expect things to break on every major update.
     
    • Like Like x 1
  7. DasSheep

    DasSheep
    Expand Collapse

    Joined:
    Nov 16, 2013
    Messages:
    80
    I'm in the final push to get the first public beta out. Here's a trailer for the beta:
     
    • Like Like x 3
  8. mimolli

    mimolli
    Expand Collapse

    Joined:
    Jan 27, 2025
    Messages:
    1,062
    upload_2026-8-13_23-53-52.png how are you still on the forum after that time 90 prozent were never seen again after like 2016
     
  9. DasSheep

    DasSheep
    Expand Collapse

    Joined:
    Nov 16, 2013
    Messages:
    80
    Why not? I love BeamNG, and it's been amazing watching it develop over the years. I wasn't really active on the forums up until recently.
     
    • Like Like x 1
  10. mimolli

    mimolli
    Expand Collapse

    Joined:
    Jan 27, 2025
    Messages:
    1,062
    its not bad its good really good to see people support this game so long
     
  11. frks3864

    frks3864
    Expand Collapse

    Joined:
    Oct 19, 2023
    Messages:
    263
    steamworks song from nfs carbon mentioned??? yoooo-

    and the ui looks goated too!
     
  12. mambamambo69

    mambamambo69
    Expand Collapse

    Joined:
    Nov 16, 2018
    Messages:
    62
    One UI mod to rule them all !
     
  13. DasSheep

    DasSheep
    Expand Collapse

    Joined:
    Nov 16, 2013
    Messages:
    80
    Thanks, guys!~




    To keep in theme with the references to the Need for Speed franchise. Here's another preview of the built-in cluster layout that will be included in the beta:
     
    • Like Like x 4
  14. DaniBatkata

    DaniBatkata
    Expand Collapse

    Joined:
    Apr 20, 2024
    Messages:
    11
    Finally someone is going to fix this thing that has been bugging me for 7 YEARS
    Keep up the good work! Can't wait!
     
  15. DasSheep

    DasSheep
    Expand Collapse

    Joined:
    Nov 16, 2013
    Messages:
    80
    Here is also some older pre-0.39 test footage of the included Flight Mode, included as the full 3-panel Glass cockpit or cycling between each of the pages via the square MFD placement:

    Terrain-aware Navigation Display [only works on maps with terrain mesh/heightmap]:




    TAWS/GPWS Voice callouts - via recorded lines and optional TTS-only:




    Integration with aviator331's Aircraft Autopilot mod (visualizing the AP inputs - shown as purple numbers/triangles indicators):
     
    #15 DasSheep, Aug 17, 2026
    Last edited: Aug 17, 2026
    • Like Like x 1
  16. maxie_furry

    maxie_furry
    Expand Collapse

    Joined:
    Apr 13, 2021
    Messages:
    307
    omg wowwww
    --- Post updated ---
    i need mod now
     
  17. DasSheep

    DasSheep
    Expand Collapse

    Joined:
    Nov 16, 2013
    Messages:
    80
    Get it while it's hot, v0.1.0 Beta for the forums is up. Here

    I'm making a short how-to video to give a tutorial on how to setup/use the mod. (Video on hold)

    Expect many bugs and incomplete features - pleaseee report them here :D
     
    #17 DasSheep, Aug 21, 2026
    Last edited: Aug 30, 2026
    • Like Like x 1
  18. redstartitan

    redstartitan
    Expand Collapse

    Joined:
    Aug 12, 2026
    Messages:
    4
    Pressing start and going into menu resets the gauge to default. or some random Guage that's not even an option
    EDIT: This is when using the standalone gauge
     
    #18 redstartitan, Aug 21, 2026
    Last edited: Aug 21, 2026
    • Like Like x 1
  19. DasSheep

    DasSheep
    Expand Collapse

    Joined:
    Nov 16, 2013
    Messages:
    80
    Thanks for the flag! This is one of the known issues with how Vue writes its configs (I recommend making changes to one gauge at a time and toggling open the Radial meu/Pause menu in between to ensure the settings get written). It's a tricky one I'm still trying to nail down. Sometimes if you make changes to UI layout and the placed widgets appear to have lost their settings, try to open/close the Radial Menu/Pause menu, and it should return.

     
    #19 DasSheep, Aug 21, 2026
    Last edited: Aug 21, 2026
  20. redstartitan

    redstartitan
    Expand Collapse

    Joined:
    Aug 12, 2026
    Messages:
    4
    Thanks for the workaround. Reporting another minor issue when adjusting the drive mode from the MFD LCD strip it always seems to be 1 behind. For example, it would show sport while the car is in coarse or say esc off while car is in Strada (tested with scintilla). It fixes the display when the car is reset.
     
    • Like Like x 1
  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice