3 ms·
> Unlike the UIs provided by the operating system, where you can say "draw a button with the label 'delete'", you have to tell OpenGL how to make a button out o
by c-smile 4y ago
> Unlike the UIs provided by the operating system, where you can say "draw a button with the label 'delete'", you have to tell OpenGL how to make a button out of triangles.
Just use Sciter, by default for rendering it uses Direct2d/DirectX (+ Vulkan||OpenGL) on Windows, Metal||OpenGL on Mac and Vulkan||OpenGL on Linux. With support of a11y by the way.
- fassssst 4y agoBut the UIs provided by the operating system are making DirectX/Metal calls for you... they are GPU accelerated. And they have been for like 16 years now.
- c-smile 4y ago> UIs provided by the operating system ... GPU accelerated That depends on what you mean by "system UI". Most system utilities on Windows are still using GDI. GDI is not GPU accelerated (other than BitBlt). Same apply to MacOS - CoreGraphics there is pure CPU rasterization library. And the same situation on Linux/GTK, system uses Cairo - pure CPU rasterization library. Usually, on modern OSes, window/desktop manager is the only GPU accelerated thing - it composes window bitmaps on screen.
- fassssst 4y agoWPF and WinUI on Windows are both GPU accelerated. They render with Direct3D calls under the hood.
- c-smile 4y agoSciter greatly overlaps with those. It is just that instead of XAML it uses HTML/CSS, JS/C/C++ instead of C# and works on all desktop platforms. For the note: historically Sciter appeared before WPF and WinUI/UWP : https://sciter.com/sciter/sciter-vs-wpf/ https://sciter.com/sciter/sciter-vs-wpf/ By any means WPF and WinUI are not UIs provided by the OS. These are userland UI libraries. Same thing as Sciter.
- pjmlp 4y agoWinUI is definitly provided by the OS, as it depends on WinRT infrastructure, even more so on the UWP side of the fence. Without WinRT there isn't WinUI, while WPF really only depends on DirectX 9.
- MrGilbert 4y agoWhile WPF is hardware accelerated, it is not very efficient[1]. I'm not sure if this has changed lately. Always had the impression that WPF was not Microsoft's favorite child. [1]: https://jeremiahmorrill.wordpress.com/2011/02/14/a-critical-deep-dive-into-the-wpf-rendering-system/ https://jeremiahmorrill.wordpress.com/2011/02/14/a-critical-...
- audidude 4y ago> And the same situation on Linux/GTK, system uses Cairo - pure CPU rasterization library. GTK 4 renders by default using your GPU. The only part that is CPU rasterized is if we don't have an accelerated path for it (rare) and glyphs are first rendered on CPU, uploaded to a texture atlas, and then GPU colored/blit from there on.
- jakearmitage 4y agoClosed source.
- c-smile 4y agoYes, and what? How that is related to the article we are discussing?
- jakearmitage 4y agoHe can't "Just use Sciter", as you recommended. Proprietary libraries and frameworks might be cost prohibitive or just plain incompatible with most projects.
- c-smile 4y ago> incompatible with most projects. Most native UI projects on desktop OSes are not OSS.
- pjmlp 4y agoHe can't play music, buying a guitar is just plain incompatible with being an artist. He can't cook, buying cooking utensils, ingredients and fire, is just plain incompatible with making meals. He...