Skia
engine
Our great sponsors
Skia | engine | |
---|---|---|
55 | 48 | |
8,515 | 7,045 | |
2.1% | 1.2% | |
9.7 | 10.0 | |
about 14 hours ago | about 18 hours ago | |
C++ | C++ | |
BSD 3-clause "New" or "Revised" License | BSD 3-clause "New" or "Revised" License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Skia
-
Skia VS nitro-gl - a user suggested alternative
2 projects | 21 Aug 2023
- The Future of the Web Is VNC
- Cairo – Open-Source 2D Graphics Layer/API with Fonts and Many Back-Ends
-
Lottie under the hood
Actually, that's not entirely accurate. The lottie-web library itself doesn't support rendering to WebGL. However, there is a package called canvaskit-wasm that wraps Skia (a graphics engine) with WebAssembly (wasm). This package includes a module called skottie which supports rendering animations into a WebGL surface. However, there is a drawback with this approach: using wasm requires loading a relatively large package, and it's uncertain whether all features are supported correctly, as the official compatibility table that tracks lottie support on different platforms does not include skottie.
-
Widely-used graphics library
Skia is pretty great if you can get it running.
- Vivaldi 6.0 Web Browser Introduces Tab Workspaces and Custom Icons
- Leveraging Rust and the GPU to render user interfaces at 120 FPS
- How important is avoiding Blink/Chromium to you? And if not at all, why?
-
Graphic Library for C
There’s also Skia by Google. Used by Android and Google Chrome.
-
Ask HN: Is WASM (WebAssembly) getting adoption in real use cases?
Not specially something that you cannot do without WASM but at $WORK we are using a WASM build of Skia [0] to render canvas from nodejs.
Why use WASM ? Because we wanted to stay close to our stack (ie. calling wasm from nodejs). Do it work ? Yes, memory consumption is quite heavy though (each WASM module have its own heap that can quickly grow).
However we are looking to directly use Skia now and avoid the overhead of WASM so i think its a nice solution in the beginning but you might want to ditch it later on.
[0]: https://github.com/google/skia/tree/main/modules/canvaskit
engine
-
Ten Years of “Go: The Good, the Bad, and the Meh
https://github.com/flutter/engine/blob/main/impeller/docs/fa...
Impeller is the Skia replacement and is in full c++ that supports all platform.
It will be great if Go team can work with them(both are in Google) and make Impeller a render engine for Go.
With this no more bloated electron.js and no more Java/Swing or Qt, what a dream for the day.
-
Ubuntu is now using Flutter for its installer
Yes. We use ATK for accessibility. FlAccessibleNode is where SemanticsNode and friends are exposed as ATK objects.
-
How can i experiment with flutter 3D?
The hardware accelerated 3D that was demoed was using Impeller Scene. Considering they were loading glb files I really hope the Flutter API has a GLES interface. It's currently marked "Experimental" and the demo they showed unfortunately doesn't have source in the same place as the other demos presented.
-
What do you wanna know about flutter ?
For example for the last point, embed Flutter in HTML pages, an important PR is recently merged: https://github.com/flutter/engine/pull/37738
-
Will Impeller fix performance in Platform views on iOS?
To add a bit to this: There is certainly room to reduce overhead of platform views and I'd expect things to get better over time. With #37789 landed we have a very rudimentary platform view support on macOS without thread merging. There is undergoing effort to migrate iOS embedded to use the embedder API, which will also means that thread merging on iOS will no longer be necessary. Using IOSurfaces for overlays down the line would also be cheaper than full CAMetalLayer. I have a prototype for platform view clipping that uses CAShapeLayer instead of rasterising the clip shape (which currently happens on iOS).
-
Forma: An efficient vector-graphics renderer
Flutter is moving to using Impeller, which is the faster replacement you're talking about: https://github.com/flutter/engine/tree/main/impeller
-
GitHub - google/forma: An efficient vector-graphics renderer
Flutter is traditionally rendered with Skia, but they are current working on their own alternative: https://github.com/flutter/engine/tree/main/impeller
-
Flutter Desktop Development Practice
https://github.com/flutter/engine/pull/36143 https://github.com/Kingtous/rustdesk_flutter_custom_cursor
-
What’s new in Flutter 3.3
Nothing to unveil, it's all public! You can test it out on the master branch today, even. See documentation and code here: https://github.com/flutter/engine/tree/main/impeller (It's not ready for production use yet unless you're willing to specifically fix bugs you run into, though.)
- I'm switching to React Native (crossposted from /r/FlutterDev)
What are some alternatives?
bgfx - Cross-platform, graphics API agnostic, "Bring Your Own Engine/Framework" style rendering library.
nanovg - Antialiased 2D vector drawing library on top of OpenGL for UI and visualizations.
GLFW - A multi-platform library for OpenGL, OpenGL ES, Vulkan, window and input
Atomic Game Engine - The Atomic Game Engine is a multi-platform 2D and 3D engine with a consistent API in C++, C#, JavaScript, and TypeScript
Ogre 3D - scene-oriented, flexible 3D engine (C++, Python, C#, Java)
imgui - Dear ImGui: Bloat-free Graphical User interface for C++ with minimal dependencies
Lottie for Android, iOS, and React Native - Render After Effects animations natively on Android and iOS, Web, and React Native
canvas - High performance skia binding to Node.js. Zero system dependencies and pure npm packages without any postinstall scripts nor node-gyp.
OpenSceneGraph - OpenSceneGraph git repository
Open-Source Vulkan C++ API - Open-Source Vulkan C++ API
DirectXTK - The DirectX Tool Kit (aka DirectXTK) is a collection of helper classes for writing DirectX 11.x code in C++
raylib - A simple and easy-to-use library to enjoy videogames programming