Question about graphical subsystem
Moderator: Moderator Team
Question about graphical subsystem
I am a total newbass in graphical stuff. But want to learn a little about it. On the example of Windows graphical subsystem of course! It's actually what I am curious about. I mean 2D desktop windowing things, not 3D gaming things.
Where do the graphics developers of ReactOS get information on "graphical internals" of Windows? Russinovich, seems, doesn't care about it. What do you read to teach yourselves?
Is windowing done in USER dll? Does it rely on GDI in doing so? I know that there is a "big" kernel thing win32k.sys, that does a lot. But does it mess with windows/controls/messages or works on lower level primitives and only USER component in fact knows about windows? What the component of the OS sends those windows messages to threads? Puts them into the queue. What component draws the non-client area? Is that drawing managed the same way as the client one, with message sending/posting and looping through them in some WinProc() function?
Does ReactOS use its own code for this or takes it from that Whine?
Thanks for possible answers.)
Where do the graphics developers of ReactOS get information on "graphical internals" of Windows? Russinovich, seems, doesn't care about it. What do you read to teach yourselves?
Is windowing done in USER dll? Does it rely on GDI in doing so? I know that there is a "big" kernel thing win32k.sys, that does a lot. But does it mess with windows/controls/messages or works on lower level primitives and only USER component in fact knows about windows? What the component of the OS sends those windows messages to threads? Puts them into the queue. What component draws the non-client area? Is that drawing managed the same way as the client one, with message sending/posting and looping through them in some WinProc() function?
Does ReactOS use its own code for this or takes it from that Whine?
Thanks for possible answers.)
Re: Question about graphical subsystem
Anyone?
Was the question too stupid? Or nobody just can answer?
I didn't ask for making a search for me, or explain in great details, that would take a lot of time, I just was wondered, maybe you have some handy resources near you on the topic. Of course I have been searching... Not that I found something. I will be yet. Just thought there are people over here knowing something about and being able to make a quick pointing.
PS. Please, don't tell browsing git repository is the way. I know C freaking well, and a couple of assemblers, but no, no, no - browsing a pile of someone else's code implementing X is NOT a good starting point for learning X, especially when X == Graphical Subsystem.
Was the question too stupid? Or nobody just can answer?
I didn't ask for making a search for me, or explain in great details, that would take a lot of time, I just was wondered, maybe you have some handy resources near you on the topic. Of course I have been searching... Not that I found something. I will be yet. Just thought there are people over here knowing something about and being able to make a quick pointing.
PS. Please, don't tell browsing git repository is the way. I know C freaking well, and a couple of assemblers, but no, no, no - browsing a pile of someone else's code implementing X is NOT a good starting point for learning X, especially when X == Graphical Subsystem.
Re: Question about graphical subsystem
Hey, don't hurry! You need to wait.
ReactOS Community Changelogs | Admin of ReactOS Official Twitter Account | Admin of ReactOS Turkish Twitter Account @reactos_tr
Re: Question about graphical subsystem
There's a fair bit of us in forums that just read and have no idea how these things actually work. The silent part can still see your messagesanthracen wrote:Was the question too stupid? Or nobody just can answer?
My working rigs:
Dell Latitude E5430 on 0.4.9-vgal - i5-3340M, USB boot.
Partially working rigs:
Ryzen 7 3700X on B450 board - 0.4.14 boot via preinstall. USB broken.
[ external image ]
Dell Latitude E5430 on 0.4.9-vgal - i5-3340M, USB boot.
Partially working rigs:
Ryzen 7 3700X on B450 board - 0.4.14 boot via preinstall. USB broken.
[ external image ]
Re: Question about graphical subsystem
I am not an expert so I can't answer with all of the details, but the windowing system is implemented as a combination of USER + GDI. USER is in turn a combination of user32.dll and the ntuser part of win32k, while GDI is a combination of gdi32.dll and the ntgdi part of win32k. USER takes care of the windows, menus, buttons, etc. while GDI takes care of the bitmaps, lines, etc.
MIcrosoft has been constantly moving things around, bouncing between speed and reliability. That's why people feel certain versions of windows are faster but unstable (when they move things to the kernel), and others are slower but more stable (when they move things to usermode). In both cases, people complain, so they keep bouncing things around from version to version...
MIcrosoft has been constantly moving things around, bouncing between speed and reliability. That's why people feel certain versions of windows are faster but unstable (when they move things to the kernel), and others are slower but more stable (when they move things to usermode). In both cases, people complain, so they keep bouncing things around from version to version...
Re: Question about graphical subsystem
Two advanced books on graphics programming for Microsoft Windows are listed near the bottom of this table in the ReactOS Wiki's "Reference" page.anthracen wrote:Where do the graphics developers of ReactOS get information on "graphical internals" of Windows? Russinovich, seems, doesn't care about it. What do you read to teach yourselves?
Re: Question about graphical subsystem
It's not about GUI, but creting a new thread will be stupid.
Does anybody know where SYSTEM hive gets into memory, namely whether it's the non-paged area or paged? On WinXP and ReactOS.
Does anybody know where SYSTEM hive gets into memory, namely whether it's the non-paged area or paged? On WinXP and ReactOS.
Re: Question about graphical subsystem
Come on! Nobody out here knows where SYSTEM hive gets loaded into?! Awesome.
Ok, another question - suppose a platform has two non-adjacent regions for SDRAM in the system space. Do you get what I say? Say 2GB at 0x0000_0000_0000_0000 and 4GB at 0x0000_0001_0000_0000, thus with a 2GB hole between them.
It's a 64 bit example, but it doesn't matter, this could be the case on a 32 bit platform too. So, is ReactOS able to deal with more than one SDRAM region? how will it organize PFN for them if it is?
Ok, another question - suppose a platform has two non-adjacent regions for SDRAM in the system space. Do you get what I say? Say 2GB at 0x0000_0000_0000_0000 and 4GB at 0x0000_0001_0000_0000, thus with a 2GB hole between them.
Code: Select all
start - end
0000_0000_0000_0000 - 0000_0000_7fff_ffff <- SDRAM region 1, 2GB,
0000_0000_8000_0000 - 0000_0000_ffff_ffff <- the hole, not SDRAM, 2GB
0000_0001_0000_0000 - 0000_0001_ffff_ffff <- SDRAM region2, 4GB
- EmuandCo
- Developer
- Posts: 4723
- Joined: Sun Nov 28, 2004 7:52 pm
- Location: Germany, Bavaria, Steinfeld
- Contact:
Re: Question about graphical subsystem
Come on! Why don't you ask where ppl know your answer, like.... IRC and Mailing List?
ReactOS is still in alpha stage, meaning it is not feature-complete and is recommended only for evaluation and testing purposes.
If my post/reply offends or insults you, be sure that you know what sarcasm is...
If my post/reply offends or insults you, be sure that you know what sarcasm is...
- binarymaster
- Posts: 481
- Joined: Sun Nov 16, 2014 7:05 pm
- Location: Russia, Moscow
- Contact:
Re: Question about graphical subsystem
Note that your thread is in the Off Topic section of the forum. I'm not sure developers paying much attention at it.
by Stas'M | https://github.com/binarymaster
Who is online
Users browsing this forum: Ahrefs [Bot] and 14 guests