Live data from Hacker News

“I made an operating system UI within Unity”

old.reddit.com

131–140 of 185 posts

Re: “I made an operating system UI within Unity”

#131
post #70

It's a nice looking display, and it's running at a nice 60FPS. However, operating systems don't generally run in full GPU mode all the time -- it's a huge amount of power to be re-drawing the screen that often, and that scales to poor battery life on mobile and expensive power costs in servers. So that's one of many reasons practical OSes don't do their UIs with GPU shaders when they can otherwise get away with less.

Your phrasing of this is a bit unclear. I think you mean that no "real" UI redraws when nothing has changed. But otherwise most operating systems do run in full GPU mode all the time. The true-mobile ones, so iOS & Android, are almost always using dedicated hardware to handle composition without spinning up the GPU (although both use the GPU to render, so whenever something does change it's immediately back on the GP…

Windows is actually pretty good about doing incremental present, only writing the composited regions that have actually changed. But macOS is bad at this, so people have to fake it in ugly ways to reduce power consumption. It's especially bad when all you want to do is blink a cursor.

Whether apps make use of these capabilities are another question. It's pretty easy to get lazy and blat out the whole window every time, when you know the GPU can handle the pixel bandwidth, and things like imgui explicitly make this tradeoff to keep logic simple.

Re: “I made an operating system UI within Unity”

#132

Well, no fancy UI, but I did port a Z80 CPU which could run a full Operating System (CPM 2) to Unreal Engine: https://i.imgur.com/2nagJS4.png I did implement graphics hardware as well, so in theory you could write a GUI along the lines of Contiki or something https://i.imgur.com/DmnVA2I.png The hard drives were configurable (up to 4MB hard drive images supported) and as per the pic above, the light on the drives ligh…

OK, this is actually quite impressive. Geeky beyond belief, and the question is how deep would you care to go ... emulating a x86 which is running your app emulating an x86 ... Still impressed.

Re: “I made an operating system UI within Unity”

#133
post #89

Looks like a generic Linux distro. Am I the only one getting "visual fatigue" over seeing flat design? I just feel like we need a trend change. Its been way too long. I find myself looking at the old Windows Vista, Windows XP, early Mac OS X, or even Windows 3.1 designs and longing for that simplicity.

I don't know why you mentioned Linux when it has a ton of window managers which provide real alternatives to any specific UI design. Window Maker looks different from fvwm95 looks different from IceWM looks different from looks different from TWM... and all of those window managers are usable, to the extent applications don't care what they're running in and the OS itself doesn't care about window managers at all. So…

But ICCCM!

Re: “I made an operating system UI within Unity”

#134
post #32

Earlier quoted context omitted.

Am I the only one who hates graphics on t-shirts? If the design doesn't serve a clear purpose in signalling something about the user, I want it gone. I'm not convinced that we've seen any meaningful advance in t-shirt design since Windows 95. Ok, ok, I'm being dumb. And yeah, I tend to agree, but as a counterpoint: sometimes it's also just cool to have cool stuff. There is certainly a modernist fetish for superminima…

the genie animation has a very clear UX purpose - where did my app just go?

Of course, the app didn't actually "go" anywhere. Minimizing it just tells the windowing system to stop drawing it. But humans aren't used to thinking about things that pop in and out of existence, so it's easier to understand the application as a physical thing that goes somewhere when hidden.

Re: “I made an operating system UI within Unity”

#135
post #40

Years ago, when I was adapting field manuals into Unity Games -- I got asked to create some training for a piece of field kit that relied heavily on a windows mobile device (very early windows mobile, that had a registry -- could run some win32 apps, had a noticeable delay of like 350ms between every input and it reacting...) I had that new-job-gotta-impress energy, so went _hard_ at this project. I added so many tin…

I worked for the same field-manual-into-Unity employer for a few years, first doing DoDAF architectures on a contract on Ft Huachuca, switching to the serious games division for a small number of weeks before I politely quit in frustration. We spent years building what amounted to UML diagrams of existing Army units. Great effort went into them. Coordination with active-duty officers, with GS civilian stakeholders, t…

It's basically rife in any organisation with more than ~2K+ total employees, regardless of private or public sector. The only that changes is the scope of how much funds & talent get wasted.

Re: “I made an operating system UI within Unity”

#136
post #70

It's a nice looking display, and it's running at a nice 60FPS. However, operating systems don't generally run in full GPU mode all the time -- it's a huge amount of power to be re-drawing the screen that often, and that scales to poor battery life on mobile and expensive power costs in servers. So that's one of many reasons practical OSes don't do their UIs with GPU shaders when they can otherwise get away with less.

This is not true. OS's generally blit their entire UI with GPU shaders, for power efficiency as much as for performance. This may be mixed with scanout compositing, depending on the system.

Re: “I made an operating system UI within Unity”

#137
post #98

Earlier quoted context omitted.

I worked for the same field-manual-into-Unity employer for a few years, first doing DoDAF architectures on a contract on Ft Huachuca, switching to the serious games division for a small number of weeks before I politely quit in frustration. We spent years building what amounted to UML diagrams of existing Army units. Great effort went into them. Coordination with active-duty officers, with GS civilian stakeholders, t…

It was a rough situation at times. I really took advantage of how self directed things were in the beginning. It was basically a masters program in whatever technology I chose to learn. Some people used the time to watch netflix. I wrote a 3d engine for android in almost entirely openGL ES2.0. After that, Unity was what I chose. I did find a few things I could do that made an impact. One project I did on a lark even…

Awesome mindset and perspective. Wish I could say the same about my co-workers. I'd work with you in a heartbeat... This intrinsic motivation is highly contagious to me in my experience and I wish I could be around it more often.

Re: “I made an operating system UI within Unity”

#138

Well, no fancy UI, but I did port a Z80 CPU which could run a full Operating System (CPM 2) to Unreal Engine: https://i.imgur.com/2nagJS4.png I did implement graphics hardware as well, so in theory you could write a GUI along the lines of Contiki or something https://i.imgur.com/DmnVA2I.png The hard drives were configurable (up to 4MB hard drive images supported) and as per the pic above, the light on the drives ligh…

Okay, what was this used in, and where/how can we play with it? Preferably in test/debug mode so we can directly poke at the different features. (But source not necessary.)

Also - the ANSI graphics example... it honestly looks bitmapped, not like a bunch of colored character cells. But then the graphics example (link 2) also looks bitmapped, so I think I'm missing something.

Re: “I made an operating system UI within Unity”

#139
post #70

It's a nice looking display, and it's running at a nice 60FPS. However, operating systems don't generally run in full GPU mode all the time -- it's a huge amount of power to be re-drawing the screen that often, and that scales to poor battery life on mobile and expensive power costs in servers. So that's one of many reasons practical OSes don't do their UIs with GPU shaders when they can otherwise get away with less.

- Redrawing the entire screen on every frame is indeed disastrous

- Redrawing entire application windows every time something gets moved around a bit and something gets a paint event is also higher load than necessary

- Drawing things that won't change every frame into textures (not shaders), and then compositing those textures together on every frame, is by far the most efficient approach today, on all platforms

I am genuinely interested to hear the definition of "less" that you refer to. It's possible some piece of assumed context is being lost in translation.

Re: “I made an operating system UI within Unity”

#140
post #70

It's a nice looking display, and it's running at a nice 60FPS. However, operating systems don't generally run in full GPU mode all the time -- it's a huge amount of power to be re-drawing the screen that often, and that scales to poor battery life on mobile and expensive power costs in servers. So that's one of many reasons practical OSes don't do their UIs with GPU shaders when they can otherwise get away with less.

Your phrasing of this is a bit unclear. I think you mean that no "real" UI redraws when nothing has changed. But otherwise most operating systems do run in full GPU mode all the time. The true-mobile ones, so iOS & Android, are almost always using dedicated hardware to handle composition without spinning up the GPU (although both use the GPU to render, so whenever something does change it's immediately back on the GP…

TIL hardware planes (the "dedicated hardware" you refer to?) != the GPU.

I presume these are inside the GPU die, though? Probably near the display controller logic?

Post reply on HN