The UI is still quite slow. Hard to get excited about Flutter.
The UI is still quite slow. Hard to get excited about Flutter.
I like a lot of things about Flutter, but how did they develop a completely new UI framework from scratch in 2015 and not make fluid animations and fast touch response latency an absolute priority?
That's what you get your company hires only leetcoders.
Sometimes domain expertise comes at expense of general expertise. (some people are super strong in one area, but not so in others). Google hires generalists, which are good at the small leetcode style problems given during an interview, but which surprise surprise are not super strong at design well thought out rendering techniques.
Hence the continuous failures in many new products.
Can you expound on this?
This makes no sense whatsoever because it goes exactly in the opposite direction of optimised graphics programming - where the ideal was to repaint the smallest portion of the screen as possible for any change.
Games redraw everything every frame, and yet good games have much better performance than UI toolkits generally.
Why would you draw the entire screen? Well, it instantly eliminates a whole class of bugs where partial updates don't match full updates. It eliminates a ton of really complex code you'd otherwise have to write to track the on-screen size of arbitrary changes separately from painting them, and skip things outside the dirty rectangle while painting. And it doesn't change your worst case performance, which is what you care about when trying to hit a fixed frame rate. Actually the worst case performance should be slightly better because you're not wasting time tracking changes when you have to paint the whole screen anyway.
So the question really is, why would you bother to implement partial updates? The only real reason would be to save power in scenarios where only a small part of the screen is changing. Which is important but not that related to responsiveness or animation smoothness, which again are about worst-case performance.
Even if you do want partial updates you may be better off simply special casing a few common things like blinking cursors or video playback than implementing a fully general change tracking solution.
Can you share your computer specs and what browser you're using?
It's buttery smooth on both my Windows desktop and Mac laptop, though both are relatively new.
On my 5+ year old 1.1GHz MacBook it's still entirely usable. Dragging windows around isn't entirely fluid, but it's not that bad for such an underpowered machine.
AMD® Ryzen 9 5950x, 32 GB RAM, Linux/Fedora 35, Firefox 97.0, Chromium 96.0.4664.110
Same CPU in my Windows workstation and it's plenty smooth. Not just usable, but smooth. This is at 4K.
Do you have a modern GPU, or something quite old? Or do you have browser hardware acceleration disabled?
If not for your GPU, it's also possible that Linux simply performs significantly worse than Windows for whatever reason.
This would NOT be a viable desktop environment.
The performance is WAY worse than anything I've used for the last 15 years. And this includes shitty 10-yearold no-name laptops using gnome/compiz.
Current machine: Edge (closest thing to Chrome that i have apart from Firefox) or Firefox, Ryzen 5 1600, RX570.
The performance is passable for a graphically intensive application but entirely unacceptable for a desktop environment of any kind. In addition, it seems like it is a bit worse optimized on Firefox than it is on Chromium based browsers.
Opening 1 window and dragging it around leads to ~25% of the GPU usage (albeit i power limited mine to 50% of the total capacity), which feels insane when you consider that games running at 60 FPS use maybe ~50%. Opening up more windows, anywhere between 5-10 and dragging them around yields a similar load to rendering tens if not hundreds of thousands of polygons on screen.
Thus, i have to agree with the folks that say that this is entirely unacceptable as a desktop environment for any device, apart from when you are inclined to waste your hardware resources for no good reason. Admittedly, Flutter is better suited for this than it is for web development (in which it can be downright hostile and cause accessibility issues) and if nothing else the UI looks good, but personally that's not something that i care about.
In summary: i don't think that this would ever be an acceptable desktop environment, especially for devices that are running on battery power. Its resource usage would cripple any graphically intensive tasks in the background, unless you have really powerful hardware, which isn't the case for much of the world. Then again, in my eyes the perfect DE is somewhere along the lines of XFCE/LXDE/LxQt, so YMMV.
Edit: tested it out on my notebook as well, which has a N4000 Celeron and Intel UHD 600 integrated graphics. Even opening 1 window lagged everything considerably (on Firefox) and i have to guess that the FPS was somewhere between 10-20.
So, once again: unacceptable as a desktop environment, even with any given browser overhead. Of course, being able to run software like this in the browser reflects positively upon its portability, if nothing else, which is cool to see.
That said, I've only used it for smallish apps. Would be interesting to see how it works for a whole desktop.
I guess I should have put my question in a more useful way: why would I want to use this desktop, given its limitations compared to existing desktops? Is it ever going to be a development system? If not, I can't see how it would grow beyond being a device environment- in which case there probably shouldn't be a terminal anyway. Probably I'm asking for something which is not a goal of fuchsia, but in that case, I really can't get exicted about something that's supposed to replace Android and other OSes.