OSDev.org

The Place to Start for Operating System Developers
It is currently Fri Apr 19, 2024 6:23 am

All times are UTC - 6 hours




Post new topic Reply to topic  [ 23 posts ]  Go to page Previous  1, 2
Author Message
 Post subject: Re: Ghost 0.3.0 - first public demo!
PostPosted: Wed Nov 19, 2014 6:52 am 
Offline
Member
Member

Joined: Wed Oct 30, 2013 1:57 pm
Posts: 306
Location: Germany
As the press officer of Ghost, I have publish the following news: after the failed German takeover, the work on Ghost may be delayed for about 3 months.

Nah, kidding. I'm not related to Ghost in any way except for being franconian, too :D

_________________
managarm


Top
 Profile  
 
 Post subject: Re: Ghost 0.3.0 - first public demo!
PostPosted: Fri Nov 21, 2014 12:38 pm 
Offline
Member
Member
User avatar

Joined: Mon Mar 05, 2012 11:23 am
Posts: 616
Location: Germany
no92 wrote:
As the press officer of Ghost, I have publish the following news: after the failed German takeover, the work on Ghost may be delayed for about 3 months.

Nah, kidding. I'm not related to Ghost in any way except for being franconian, too :D
Haha :mrgreen: the work on Ghost is indeed delayed, but due to illness, and will be recovered soon. Also, go go and finish your compiler so I can add it to Ghost 8)

_________________
Ghost OS - GitHub


Top
 Profile  
 
 Post subject: Re: Ghost 0.3.0 - first public demo!
PostPosted: Fri Nov 21, 2014 1:19 pm 
Offline
Member
Member

Joined: Wed Oct 30, 2013 1:57 pm
Posts: 306
Location: Germany
That one may take a while - and I do plan to add some runtime routines for reflection, which may make things more complicated.

_________________
managarm


Top
 Profile  
 
 Post subject: Re: Ghost 0.3.0 - first public demo!
PostPosted: Tue Nov 25, 2014 1:55 pm 
Offline
Member
Member
User avatar

Joined: Mon Jun 05, 2006 11:00 pm
Posts: 2293
Location: USA (and Australia)
When I tried this out in QEMU, the mouse was really unresponsive (it updated about once a second). Great work though!

_________________
My OS is Perception.


Top
 Profile  
 
 Post subject: Re: Ghost 0.3.0 - first public demo!
PostPosted: Sat Nov 29, 2014 3:06 am 
Offline
Member
Member
User avatar

Joined: Mon Mar 05, 2012 11:23 am
Posts: 616
Location: Germany
MessiahAndrw wrote:
When I tried this out in QEMU, the mouse was really unresponsive (it updated about once a second). Great work though!
I guess performance will be the focus point of the development for the next versions. Thank you for trying it out :)

_________________
Ghost OS - GitHub


Top
 Profile  
 
 Post subject: Re: Ghost 0.3.0 - first public demo!
PostPosted: Wed Dec 03, 2014 10:28 am 
Offline
Member
Member
User avatar

Joined: Mon Jun 05, 2006 11:00 pm
Posts: 2293
Location: USA (and Australia)
max - I came across a similar performance problem when working on my window manager. Mine is a compositing window manager - where each window has its own buffer, and there's also a screen buffer that the window manager draws to before copying it into video memory. This turned out to be very slow in high resolution VESA modes.

Each time I invalidated the screen (such as moving the mouse) it would perform a full redraw, I managed to optimize this by invalidating a specific region on the screen by calling:
invalidate_window_manager(minx, miny, maxx, maxy)

I pass the region to each of my drawing sub-calls - draw_window(minx, miny, maxx, maxy), draw_background(minx, miny, maxx, maxy), and I only copy the parts that lay within the invalidated region. I only copy the invalidated region to video memory. Because only a small part of the screen is updated at a time, I can do some cool things in real time, like dither the 32-bit screen buffer to lower bit depths, and my mouse is still really responsive and fluid!

This is just a simple optimization (took me a couple of hours to implement) I picked up on and I thought I'd share it because it's really simple and helped a lot - I hope it helps you too.

When I eventually support full-screen windows, it'd be possible to copy the full screen window directly into video memory without having to copy it into window manager's buffer first.

_________________
My OS is Perception.


Last edited by AndrewAPrice on Wed Dec 03, 2014 12:01 pm, edited 1 time in total.

Top
 Profile  
 
 Post subject: Re: Ghost 0.3.0 - first public demo!
PostPosted: Wed Dec 03, 2014 11:54 am 
Offline
Member
Member
User avatar

Joined: Mon Mar 05, 2012 11:23 am
Posts: 616
Location: Germany
Hey MessiahAndrw,
thanks for your post :) I already do that. I only copy the area that has actually changed to the VESA output buffer. Whats actually slow is (I'm embarrassed of myself :oops: ) that each time the window manager does it's repaint, it copies hierarchically: the desktop is copied to the buffer, then all windows are copied, which themself copy each of their components to the buffer, and each component copies its subcomponents. I should have thought about that being slow in the first place, but I thought "hmm memory copying shouldn't be too bad". I think that will speed stuff up quite a lot. :mrgreen:
Thank you for your help though ^-^ I'd love to see your windowing system in action too :)

_________________
Ghost OS - GitHub


Top
 Profile  
 
 Post subject: Re: Ghost 0.3.0 - first public demo!
PostPosted: Wed Dec 03, 2014 4:38 pm 
Offline
Member
Member
User avatar

Joined: Mon Jun 05, 2006 11:00 pm
Posts: 2293
Location: USA (and Australia)
max wrote:
I'd love to see your windowing system in action too :)


I've put a screenshot of my window manager on the screenshot thread: http://forum.osdev.org/viewtopic.php?f=1&t=12087&p=243393#p243393 It's still a work in progress, but one day I hope to have a downloadable image like you (still too buggy and not much to see yet.)

_________________
My OS is Perception.


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 23 posts ]  Go to page Previous  1, 2

All times are UTC - 6 hours


Who is online

Users browsing this forum: No registered users and 39 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