| > Maybe. Gtk and its related libraries don’t cover everything Qt does And therein lies the problem. Qt is semi-open (the parent company tried to close source it[1]). If a commercial company has no interest in maintaining it, there is even less hope for other open source approaches. Best cross OS system are almost always backed by a commercial supporter. See Skia - Google, Java Swing - Oracle, Qt - QtCompany, etc. OSS offerings were always runner ups (e.g. Gtk - Gnome). > The memory model of Rust is still whatever C++ does. I get that Rust has some nice features and C++ makes it easy to fuck your self but people have been doing large scale parallel software development for years in C++. Memory model of Rust is undefined[2]. It might be anything Rust does to accomodate C++ bindings, but I don't think they really settled on one. I'd like to add - people have been doing large scale parallel software development for years in C++, in spite of C++. What is a line of comment in C++ in Rust is a type system constraint. It's a difference between having a seatbelt (Rust) and holding a piece of seatbelt (C++). Rust was literally made to address C++ shortcomings when it comes to parallelism. > You mean like QtQuick/QML, skia (basically this is the effective underpinning of electron and flutter) or Dear Imgui, etc. There are a handful of widely used GPU based GUI libraries. The above examples are all C++. No. I mean like WebRenderer[3], Lyon[4]. Most things should be parallelized and done on GPU/SIMD. Layout, font shaping, etc. [1]https://news.ycombinator.com/item?id=25656932 [2]https://doc.rust-lang.org/reference/memory-model.html [3]https://github.com/servo/webrender [4]https://docs.rs/lyon/latest/lyon/ |
https://www.reddit.com/r/rust/comments/vwdxim/announcing_lyo...
https://www.reddit.com/r/rust/comments/vwdxim/announcing_lyo...
Also neither of your examples do any text shaping on the GPU. Lyon doesn’t do text and Webrender (which depends on freetype) does regular old glyph cache built in CPU texture rendering. Neither involve GPU shaping.
https://github.com/servo/webrender/blob/master/wr_glyph_rast...
Still trying to understand what earth-shattering, "leverage" levering feature this brings compared to Skia.
> Memory model of Rust is undefined[2]. It might be anything Rust does to accomodate C++ bindings, but I don't think they really settled on one.
> I'd like to add - people have been doing large scale parallel software development for years in C++, in spite of C++.
Do you not see at least some level of contradiction to these statements?
This is probably the more relevant explanation: https://doc.rust-lang.org/nomicon/atomics.html. "At very least, we can benefit from existing tooling and research around the C/C++ memory model."
Perhaps respect your elders a bit more?