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 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
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
That looks super promising ! I always thought that framerate thing was an issue on my own. Would you be able to update this mod the same way ? Enhanced Tachometer and Forced Induction | BeamNG, I have been using it forever. Thanks !
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.
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.
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:
Finally someone is going to fix this thing that has been bugging me for 7 YEARS Keep up the good work! Can't wait!
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):
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
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
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.
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.