otak / b0xx-viewer-rs Goto Github PK
View Code? Open in Web Editor NEWA cross-platform B0XX input viewer for your streaming needs
License: Apache License 2.0
A cross-platform B0XX input viewer for your streaming needs
License: Apache License 2.0
Need to investigate.
After diagnostics, it turns out we're polling the b0xx controller each ~0-1ms which basically makes no sense as consoles don't poll it higher than 120Hz.
Thus, a full refactor of the serial poll run loop is needed to drastically lower CPU usage.
Making use of the RTS/CTS serial control flow mechanic will be needed for this to work reliably.
Two ways:
Maybe both
The chromeless launch option cannot be moved by default in Windows, and allowing it would be ideal for any sort of screen capture software or streams that cannot capture multiple distinct windows and overlay them to your specifications (e.g. Discord or other casual streaming settings).
Potentially adding some sort of key combination that would interact with the mouse input, such as Alt + Click or something similar would be ideal.
Admittedly this is not the most common use case, but it would facilitate ease of use in settings outside OBS streaming or similar.
Seems we have a perf regression on our hands, to investigate
As conrod is unmaintained (PistonDevelopers/conrod#1454) we should move away to another GUI library
Candidates:
quadrate
- Simple synonym of rectanglefenetre
- French for Window, which is usually a...rectangle that allows to see through (view)prism
- Well, duh, it's a prismblocky
- Rectangle-y and cute, also easy to rememberparallelogram
- High society rectangleoblong
- Rectangle synonymparallelograph
- Parallelogram + graphWe sometimes start reading partial buffers over the serial link, problem which also exists on the official Input Viewer. Seems to be some kind of UB related to COM port internal systems.
The procedure to fix this would be to exhaust the initial read buffer at the start of the serial port connection till we find a \n
then hand over control to the UI to proceed normally.
CPU usage is through the roof, with visible input lag
We might need an optimization in order to reduce the framerate in those situations instead of trying to render at Vsync
Leaving the viewer alone for a while creates a buffer shift which translates to incorrect button matching.
Probably the same issue with buffer exhaustion on Windows as before
Investigate something like this for button borders
inactive_background_color
for the button, make button background = window backgroundactive_background_color
This behavior should be enabled with an user-supplied flag
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.