mirror of
https://github.com/thorvg/thorvg.git
synced 2025-06-25 17:32:00 +00:00
Update README.md
Some checks are pending
Android / build_x86_64 (push) Waiting to run
Android / build_aarch64 (push) Waiting to run
iOS / build_x86_64 (push) Waiting to run
iOS / build_arm64 (push) Waiting to run
macOS / build (push) Waiting to run
macOS / compact_test (push) Waiting to run
macOS / unit_test (push) Waiting to run
Ubuntu / build (push) Waiting to run
Ubuntu / compact_test (push) Waiting to run
Ubuntu / unit_test (push) Waiting to run
Windows / build (push) Waiting to run
Windows / compact_test (push) Waiting to run
Windows / unit_test (push) Waiting to run
Some checks are pending
Android / build_x86_64 (push) Waiting to run
Android / build_aarch64 (push) Waiting to run
iOS / build_x86_64 (push) Waiting to run
iOS / build_arm64 (push) Waiting to run
macOS / build (push) Waiting to run
macOS / compact_test (push) Waiting to run
macOS / unit_test (push) Waiting to run
Ubuntu / build (push) Waiting to run
Ubuntu / compact_test (push) Waiting to run
Ubuntu / unit_test (push) Waiting to run
Windows / build (push) Waiting to run
Windows / compact_test (push) Waiting to run
Windows / unit_test (push) Waiting to run
This commit is contained in:
parent
30662afba7
commit
bed6696605
1 changed files with 12 additions and 1 deletions
13
README.md
13
README.md
|
@ -43,6 +43,8 @@ The following list shows primitives that are supported by ThorVG: <br />
|
|||
<p align="center">
|
||||
<img width="700" height="auto" src="https://github.com/thorvg/thorvg/blob/main/res/example_primitives.png">
|
||||
</p>
|
||||
|
||||
### Structural Design
|
||||
ThorVG is designed for a wide range of programs, offering adaptability for integration and use in various applications and systems. It achieves this through a single binary with selectively buildable, modular components in a building block style. This ensures both optimal size and easy maintenance. <br />
|
||||
<br/>
|
||||
<p align="center">
|
||||
|
@ -53,6 +55,8 @@ If your program includes the main renderer, you can seamlessly utilize ThorVG AP
|
|||
<p align="center">
|
||||
<img width="900" height="auto" src="https://github.com/thorvg/thorvg/blob/main/res/example_flow.png">
|
||||
</p>
|
||||
|
||||
### Threading
|
||||
ThorVG incorporates a threading mechanism that aims to seamlessly acquire subsequent scenes without unnecessary delays. It operates using a finely-tuned task scheduler based on thread pools, encompassing various tasks such as encoding, decoding, updating, and rendering. This design ensures that all tasks can effectively leverage multi-processing capabilities.<br />
|
||||
<br />
|
||||
The task scheduler has been meticulously crafted to conceal complexity, streamline integration, and enhance user convenience. Therefore, the policy it employs is optional, allowing users to select it based on their specific requirements.<br />
|
||||
|
@ -60,13 +64,18 @@ The task scheduler has been meticulously crafted to conceal complexity, streamli
|
|||
<p align="center">
|
||||
<img width="900" height="auto" src="https://github.com/thorvg/thorvg/blob/main/res/example_thread.png">
|
||||
</p>
|
||||
|
||||
### Smart Rendering
|
||||
ThorVG supports smart partial rendering, enabling more efficient rendering workflows by updating only the portions of a vector scene that have changed. By internally tracking modified regions, it minimizes unnecessary redraws and optimizes overall performance. This feature delivers significant performance benefits, especially in animations and interactive graphics where only part of the scene changes between frames. By avoiding full-scene rendering, it can reduce computational workload—making it particularly well-suited for mobile and embedded systems where energy efficiency is essential. It also help to ensure smoother visual updates, especially for dynamic UIs and real-time animations, where rendering responsiveness is critical.<br/>
|
||||
<br/>
|
||||
<p align="center">
|
||||
<img width="700" height="auto" src="https://github.com/thorvg/thorvg/blob/main/res/example_partial.png">
|
||||
</p>
|
||||
The figure above illustrates geometry changes and highlights the minimal redraw region (outlined in red) that needs to be updated. Only the modified area between the previous and current frames is selectively redrawn, significantly enhancing performance.<br/>
|
||||
|
||||
The figure above illustrates geometry changes and highlights the minimal redraw region (outlined in red) that needs to be updated. Only the modified area between the previous and current frames is selectively redrawn, significantly enhancing performance. For a showcase, please visit [this page](https://hermet.github.io/partial-test/), which demonstrates a high-resolution image and thousands of objects rendering scenario using ThorVG's software renderer. <br/>
|
||||
<br />
|
||||
|
||||
### Render Backends
|
||||
Today, ThorVG provides its own implementation of multiple raster engines, allowing you to choose the one that best suits your app and system preferences.<br/>
|
||||
<br/>
|
||||
|
||||
|
@ -75,6 +84,8 @@ Today, ThorVG provides its own implementation of multiple raster engines, allowi
|
|||
- WebGL
|
||||
- WebGPU
|
||||
<br/>
|
||||
|
||||
### WebGPU Support
|
||||
ThorVG is ahead of the curve, particularly in the web ecosystem. WebGPU introduces next-generation APIs similar to Vulkan, leveraging compute shaders and providing low-overhead, modern GPU access for more aggressive optimization strategies and broader applications. Building on this, ThorVG fully supports vector rendering features within its specification on top of WebGPU. Additionally, by abstracting underlying hardware graphics accelerations such as Metal, Vulkan, and DirectX, ThorVG ensures seamless adoption across various systems, regardless of the installed hardware accelerations.<br/>
|
||||
<br/>
|
||||
<p align="center">
|
||||
|
|
Loading…
Add table
Reference in a new issue