Comments (2)
Other things to consider:
- Layered Rendering (from discord conversation with @geom3trik )
- Sectioned(idk a name for that?) Requests => For animations do we really want to call redraw request every time ourselves? We could say it is animated and optimize with that information
from vizia.
Repeating here for transparency:
Ah cool 🙂 what you're describing is, more or less, what I had planned. It's something called dirty regions (it has other names too). Essentially you figure out which views need redrawing and then figure out a bounding rectangle which encompasses all of them, then redraw those views using scissor.
As you pointed out, redrawing a view can cause other views behind it to redraw as well, potentially multiple times (but this can still be worth it overall). There's a number of tradeoffs and decisions to be made here. E.g. when is it more optimal to just rerender everything. Other similar ideas to consider are using tiles instead of dirty regions (a view may render in more than one tile), or a layered approach. The difficulty with layers is that a render target switch (rendering to an image and then back to the screen) can be quite expensive.
from vizia.
Related Issues (20)
- Localize Datepicker HOT 2
- Icons rendered incorrectly under Win10 HOT 3
- Hovering might be incorrect if display style changes.
- Wrong handling for double and triple click mouse events
- Wrong mouse position when using a view that use event listener HOT 1
- Styles do not get loaded on startup when we use element name HOT 2
- Add a way to keep animations state for a view after finishing (`fill-animation`)
- Scroll bar transitions trigger when minimizing/restoring the application window. HOT 3
- Adding tooltips causes lag/strange behavior.
- Add a way to detect when `Escape` key is used inside a `Textbox`.
- Miscellaneous issues and feature requests
- Fire events asynchronously HOT 2
- 90 degree rotated label seem to be layed out with its width and height swapped HOT 2
- Add better support for dynamically sized TabViews HOT 1
- Setting overflow: hidden on a parent with border-radius doesn't clip contents in the corners HOT 2
- Changing font size causes icons to become uncentered.
- Properties like `opacity` wont work on emojis in texts
- on_press event bug: event fails to trigger when pressing children HOT 3
- Mouse locks up when releasing mouse capture outside the window in vizia_baseview
- The `font-stretch` property seems to be ignored
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 vizia.