OSDev.org

The Place to Start for Operating System Developers
It is currently Wed May 24, 2017 11:48 am

All times are UTC - 6 hours




Post new topic Reply to topic  [ 2999 posts ]  Go to page Previous  1 ... 189, 190, 191, 192, 193, 194, 195 ... 200  Next
Author Message
 Post subject: Re: What does your OS look like? (Screen Shots..)
PostPosted: Sat Feb 11, 2017 2:37 am 
Online
Member
Member

Joined: Sat Dec 27, 2014 9:11 am
Posts: 780
Location: Maadi, Cairo, Egypt
zesterer wrote:
Presumably though it doesn't redraw on *every* update though? You'd end up redrawing a ridiculous number of times. I presume it's capped at something reasonable like 50-60Hz?

I meant, I copy my back buffer to the physical VBE frame buffer. My OS uses VBE to set the graphics modes, and so it has no way of knowing exactly the hardware refresh frequency, but I think 60 Hz is common enough to call standard. It copies the back buffer to the physical buffer whenever the back buffer has been changed, and I already mentioned when that is: whenever the mouse is moved, a window is dragged, or an application requests a redraw.
At the moment, I don't redraw a "ridiculous" number of times, and the performance is actually great on VirtualBox and VMware and OK on real hardware, but I could do some work on it still, to improve on QEMU without KVM.

_________________
Byte me; OS site, source code.
Progress: USB.


Top
 Profile  
 
 Post subject: Re: What does your OS look like? (Screen Shots..)
PostPosted: Sun Feb 12, 2017 5:16 am 
Offline
Member
Member

Joined: Sat Nov 21, 2009 5:11 pm
Posts: 640
It is the job of the window manager to know where every window is and what parts of them need to be updated. You need some way to restrict painting to a region that the window manager will compute using information about the part of a window that is visible and the part that is invalid. That way, you can use your CPU time for other things than silly redraws of the entire screen just because the cursor moved. You can have the cursor as a special case, where the system saves what's underneath it before it is shown, and hides it by restoring the saved pixels. Remember to temporarily hide the cursor when a window is to be updated while the cursor is over it.


Top
 Profile  
 
 Post subject: Re: What does your OS look like? (Screen Shots..)
PostPosted: Sun Feb 12, 2017 5:45 am 
Offline
Member
Member

Joined: Wed Mar 30, 2011 12:31 am
Posts: 212
prasoc wrote:
one question however: what is the best way to achieve screen "updates"? do you have a ticker that updates once every 1/60th a second or something?
I've been meaning to write an article on window compositing, but jojo wrote a whole series of articles on general windowing and efficient updates and I think it's a good read for people new to the ideas.

Personally, my compositor has two threads: A rendering thread and a control thread. The control thread does all of the input management and talks to the clients. As part of that client communication, it collects screen update regions from clients - a client will tell the server it wants to mark a region of a window as "damaged", and the server will add that to a list. The render thread will combine all of the damage regions since the last screen update (~60Hz; ideally v-synced, but driver support just isn't there) and redraw those regions. Since I have a compositor with transparency, it needs to redraw everything from bottom to top that would fit within the affected regions - this happens in an off-screen buffer first. I then copy the same regions over to video memory.

Unrelated, here's a video of some menu updates in ToaruOS:


_________________
github | twitter | とあるOS | PonyOS 4.0


Top
 Profile  
 
 Post subject: Re: What does your OS look like? (Screen Shots..)
PostPosted: Wed Feb 15, 2017 9:39 pm 
Offline
Member
Member
User avatar

Joined: Sat Nov 15, 2008 2:37 pm
Posts: 809
Location: The Fire Nation
Phenomenal as usual


Top
 Profile  
 
 Post subject: Re: What does your OS look like? (Screen Shots..)
PostPosted: Thu Feb 16, 2017 2:08 pm 
Offline
Member
Member

Joined: Fri Feb 10, 2017 8:25 am
Posts: 29
klange wrote:
prasoc wrote:
one question however: what is the best way to achieve screen "updates"? do you have a ticker that updates once every 1/60th a second or something?
I've been meaning to write an article on window compositing, but jojo wrote a whole series of articles on general windowing and efficient updates and I think it's a good read for people new to the ideas.

Personally, my compositor has two threads: A rendering thread and a control thread. The control thread does all of the input management and talks to the clients. As part of that client communication, it collects screen update regions from clients - a client will tell the server it wants to mark a region of a window as "damaged", and the server will add that to a list. The render thread will combine all of the damage regions since the last screen update (~60Hz; ideally v-synced, but driver support just isn't there) and redraw those regions. Since I have a compositor with transparency, it needs to redraw everything from bottom to top that would fit within the affected regions - this happens in an off-screen buffer first. I then copy the same regions over to video memory.

Unrelated, here's a video of some menu updates in ToaruOS:



thank you for the detailed reply, I have implemented a front and backbuffer but using memcpy on the full backbuffer every update is exceptionally slow! a separate "dirty" buffer would reduce the memory copy times huuuugely

Will have a look at those tutorials, quickly skimmed the article and it seems perfect for the hobbyist os developer :)

Also that video of ToaruOS is spectacular - the windowing system is something for me to aim towards 8)


Top
 Profile  
 
 Post subject: Re: What does your OS look like? (Screen Shots..)
PostPosted: Fri Feb 17, 2017 11:20 am 
Offline
Member
Member

Joined: Wed Aug 17, 2016 4:55 am
Posts: 132
Just a rough template for the interface, but the next thing I'm working on Indigo: a file dialog (in this case just acting as the usual file browser). Decided to go with this because 1) I can get away with this without a keyboard (at least the most barebones functionality) and 2) I better get off with full blown filesystem support instead of the bare minimum currently used to load programs.

Image

On that note, I need to sort out how to deal with file handles (especially how many to allow), since the kernel doesn't have that much memory alloted to itself.

_________________
https://github.com/sikthehedgehog/indigo


Top
 Profile  
 
 Post subject: Re: What does your OS look like? (Screen Shots..)
PostPosted: Tue Feb 21, 2017 8:20 am 
Offline
Member
Member
User avatar

Joined: Fri Feb 17, 2017 4:01 pm
Posts: 100
Location: Ukraine, Bachmut
Impressive and really inspiring, guys! I was staring at the thread several days. xD
I wish I could post here something similar, but my project can't even write into the serial port yet. :D
I am trying to create NT-like OS but as a first subproject of it, I'm working on a UEFI implementation for a couple of machines of two architectures, namely - MIPS and ARM. The OS itself is planned for x86 as well apart from those two. But now I'm messing around with the Beagle Bone Black armv7 SBC writing the first stages of UEFI PI spec (SEC, PEI). And once it is able to talk to the world I'll let you know.)

_________________
Trying to write an NT-like OS (ANT). First target architecture is mips32r2.
Hopefully this is not only not NSFW, but rather opposite. and feasible as well.


Top
 Profile  
 
 Post subject: Re: What does your OS look like? (Screen Shots..)
PostPosted: Wed Feb 22, 2017 8:59 am 
Offline
Member
Member
User avatar

Joined: Mon Feb 22, 2016 4:40 am
Posts: 32
Location: United Kingdom
Image

I've made a huge number of changes over the last 48 hours.

- I've added co-operative multi-tasking. Currently, only the VGA render task and the prompt are active
- I've started work on a very simple filesystem manager
- I've totally rewritten my kernel shell. It has tonnes of new features.
- I've generally just improved the look of the whole OS
- Many stability improvements internally

Very, very happy with Tupai at the moment.

_________________
Current developing Tupai, a monolithic x86 operating system
http://zesterer.homenet.org/projects.shtml


Top
 Profile  
 
 Post subject: Re: What does your OS look like? (Screen Shots..)
PostPosted: Wed Feb 22, 2017 9:24 am 
Offline
Member
Member

Joined: Wed Aug 17, 2016 4:55 am
Posts: 132
Image

(´・ω・`)

_________________
https://github.com/sikthehedgehog/indigo


Top
 Profile  
 
 Post subject: Re: What does your OS look like? (Screen Shots..)
PostPosted: Wed Feb 22, 2017 10:11 am 
Offline
Member
Member

Joined: Fri Aug 07, 2015 6:13 am
Posts: 677
zesterer wrote:
Image

I've made a huge number of changes over the last 48 hours.

- I've added co-operative multi-tasking. Currently, only the VGA render task and the prompt are active
- I've started work on a very simple filesystem manager
- I've totally rewritten my kernel shell. It has tonnes of new features.
- I've generally just improved the look of the whole OS
- Many stability improvements internally

Very, very happy with Tupai at the moment.


It is beautiful! =D> I really like the looks of it.
What is that font called?

_________________
Working on Basic OS, C++ Combined Kernel.
Link: ...in progress...


Top
 Profile  
 
 Post subject: Re: What does your OS look like? (Screen Shots..)
PostPosted: Wed Feb 22, 2017 10:42 am 
Offline
Member
Member
User avatar

Joined: Mon Feb 22, 2016 4:40 am
Posts: 32
Location: United Kingdom
octacone wrote:
It is beautiful! =D> I really like the looks of it.
What is that font called?


Thanks. Lat2-Terminus16 is the font. It's available by default on most Linux distributions.

_________________
Current developing Tupai, a monolithic x86 operating system
http://zesterer.homenet.org/projects.shtml


Top
 Profile  
 
 Post subject: Re: What does your OS look like? (Screen Shots..)
PostPosted: Wed Feb 22, 2017 11:00 pm 
Offline
Member
Member

Joined: Tue Feb 11, 2014 4:59 pm
Posts: 31
Cyjon OS fluent windows movement, now lets do some GUI :)

https://www.youtube.com/watch?v=wT9YeNqhD9Q

_________________
wataha.net - system programming, my own 64 bit kernel and software.


Top
 Profile  
 
 Post subject: Re: What does your OS look like? (Screen Shots..)
PostPosted: Fri Feb 24, 2017 12:55 am 
Offline
Member
Member

Joined: Wed Aug 17, 2016 4:55 am
Posts: 132
Wallpaper support! (though the internals still need some tweaking)

Image

The next work should be on the existing apps now so hopefully you won't have me flooding this thread for a while.

_________________
https://github.com/sikthehedgehog/indigo


Top
 Profile  
 
 Post subject: Re: What does your OS look like? (Screen Shots..)
PostPosted: Fri Feb 24, 2017 8:36 am 
Offline
Member
Member
User avatar

Joined: Sun Sep 19, 2010 10:05 pm
Posts: 993
Sik wrote:
Wallpaper support! (though the internals still need some tweaking)

Image

The next work should be on the existing apps now so hopefully you won't have me flooding this thread for a while.


This... I want.

Please port to x86 so I can run this as my daily machine. Be sure not to increase the resolution.

_________________
Project: OZone
Source: GitHub
Current Task: VGA Mode 13h

"The more they overthink the plumbing, the easier it is to stop up the drain." - Montgomery Scott


Top
 Profile  
 
 Post subject: Re: What does your OS look like? (Screen Shots..)
PostPosted: Wed Mar 01, 2017 10:27 am 
Offline
Member
Member
User avatar

Joined: Sat Dec 17, 2016 6:58 am
Posts: 32
Location: The Internet
I think it's amazing how much progress people have made over the years. Going through this thread (and the "when you're OS goes crazy" thread) just shows how far we've gotten.

Unfortunately, my OS is nowhere enough near completion to show here :x . Soon, though :D

_________________
Everyone should know how to program a computer, because it teaches you how to think! -Steve Jobs
Code:
while ( ! ( succeed = try() ) );


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 2999 posts ]  Go to page Previous  1 ... 189, 190, 191, 192, 193, 194, 195 ... 200  Next

All times are UTC - 6 hours


Who is online

Users browsing this forum: Bing [Bot], Google [Bot] and 5 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group