Comments (1)
Not really, sorry; inserting text or graphics a few times a second is relatively straightforward, but pen strokes need a much faster draw rate to be usable.
Something like the radio log/message history is doable by appending the text or swapping out an image, but swapping out an image at the rate needed for usable pen strokes needs a lot of CPU, and the RAM < - > GPU copies destroys frame rate.
When I last posted about OpenKneeboard, it basically worked like this - but adding graphics support basically required rewriting the graphics handling to eliminate RAM < - > GPU copies for the pen strokes in openkneeboard to feel usable. It cut GPU usage by ~ 15x and CPU by ~ 100x when rendering pen strokes at 30fps. This wasn’t an issue previously as without pen strokes, openkneeboard only needed to update 5 times a second tops if you are super agro with the next page binding - it still normally sits at zero FPS if you’re not actively doing anything with it
What would be possible is faking it, without adding pages: keep track of when the kneeboard is visible, what page is displaying, where on the screen it is, and drawing on top of it. I don’t plan to add that as the amount of a shareable code would be pretty minimal - it would be much better done as a different app
from openkneeboard.
Related Issues (20)
- Remove `mLastRenderSize` HOT 1
- v1.7: improve image quality on Varjo HOT 1
- Bring back winget automation based on `winget-create` HOT 3
- VR position settings don't unlock when recentering with bound button. HOT 4
- Build Error HOT 19
- There is no visual indication of the current pinned page unless a tablet is connected
- Update to Windows App SDK v1.5, remove custom WM_DESTROY/Shutdown handling
- Add new bindings UI HOT 1
- [enhancement] Base path, associated with the profile, to load Tab quickly
- Add option for recentering binding to take effect on press, release, or varies-by-game HOT 2
- VR: log API-recommended adapter LUIDs HOT 1
- CTD in Micrsoft Flight Simulator since updating to latest version... HOT 15
- Problem OpenKneeboard and SteamVR HOT 5
- Limit WebView2 custom dimension to `D3D11_REQ_TEXTURE2D_U_OR_V_DIMENSION` (16384)
- Support arbitrarily nested profiles HOT 1
- Support per-view show/hide binding
- Add 'sim racing' preset HOT 1
- Automatically set the title for web dashboard tabs
- Add clarity or additional options for behavior when changing tabs in the app HOT 2
- `App.json` should not be part of the profiles system HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from openkneeboard.