1,729 karma · joined February 21, 2009
The library I’m using used to have a gl backend, but it’s currently unsupported.
In terms of comparison with an FPS, the same amount of responsiveness is required for any UI - ie. there should be no perceptual latency.
Adding 17ms certainly is perceptual.
I'd expect these kinds of operations to be slow at high resolution without the help of the GPU. You could probably speed things up with SIMD and multi-threading, at the expense of implementation complexity.
Rust doesn't really have anything super mature in terms of UI, though druid[0] is the one I'm keeping an eye on. Since there's very little "UI" per se in rx, it's currently built directly on top of the graphics layer[1].
* Its backend (gfx-rs) is one of the most mature rust libraries for doing graphics
* The popular "classic" 2d libraries like cairo and skia are very big and complicated to build / depend on
* wgpu will eventually also work on the web, so it's a great option for broad platform compatibility
* In terms of efficiency (memory, battery, cpu etc.), the modern graphic APIs have more headroom than the GL-based ones
* Today, 4K screens are pretty common, and in the future, 144hz monitors will be more and more popular. If I want to render 2d graphics with no latency in those setups, access to the GPU makes things feasible
I am considering using something like stretch[0] to handle layout concerns eventually.
I've been looking for distrbution mechanisms for a while now, and static binaries are not easy for applications with a GUI.
As for Metal, it just works better currently with the underlying libraries I'm using (GLFW + gfx-rs), than MoltenVK.
We're hiring a couple of experienced protocol & backend engineers who <3 free software, to work on a decentralized code collaboration and incentivization platform for FOSS. We work mainly in rust and haskell, are remote friendly and based in Berlin. Salary is flat and generous for the EU. Send me an e-mail at alexis@monadic.xyz with your CV or open-source work if interested!
let x = putStrLn "hello"
in do x ; x
is equivalent to: do putStrLn "hello" ; putStrLn "hello"We're looking to hire a few senior software engineers with functional programming experience in the next couple of months to work on peer-to-peer and blockchain technology. Salary is EUR 100K across the board. We're a team of 15, based in Berlin. Drop me an email if interested: alexis (at) monadic.xyz.
Thanks