Hacker News new | past | comments | ask | show | jobs | submit login

> I think its theoretically the best way to do things

I think a GPU-targeted equivalent of Skia is going to be better on modern hardware. And will continue to become better on future hardware because GPUs improve faster than CPUs, even on mobile: Pi4 can do about 10 GFlops on CPU, 32 Gflop on GPU.

Skia was designed at the time when vector graphics was expected to be rasterized on CPU. People have managed to implement GLES backend, but I don’t think it’s efficient. A purposely-built GPU-centric library can do better.

Microsoft did better when they made Direct2D and DirectWrite, these two make the rendering backend of UWP GUI framework. There‘s 1 disadvantage of that platform but it’s a huge one: it only works on top of Direct3D 11 and therefore Windows only.

Wasn’t always the case, but by now we already have decent 3D GPU support on all platforms, both hardware and software. Even the web can now do that with WebGL. However, no one so far made a cross platform equivalent of Direct2D and DirectWrite.

If you click on the link in my parent comment, you’ll see a proof of concept how it can be done. It even includes a component to play h264 video with hardware decoder. That was an unpaid hobby project so there’re large missing pieces (the largest of them are missing text support when using Direct2D backend, and no gradient or image brushes in my custom 2D backend), but both are doable, I just neglected.

That library is built on top of .NET Core 2.1 (I didn’t want to use C++ more than necessary), works on Windows with Direct3D 12, and on Raspberry Pi4 on top of GLES 3.0. The GPU abstraction library I’ve picked supports all of them except WebGL, supporting iOS, Android and OSX should be straightforward: http://diligentgraphics.com/diligent-engine/




I think I misunderstood your initial comment and we probably mostly agree : )

When I think 'Skia-based', I am thinking of a "canvas-based" renderer as opposed to native views. So I would group Skia and your option together in my mind.




Consider applying for YC's Fall 2025 batch! Applications are open till Aug 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: