Render communication on Mac, Windows - Xwindows
This is a discussion on Render communication on Mac, Windows - Xwindows ; Hi,
I'm not sure if this is the right place to ask this question, but I couldn't
find any better place
I know that x windows programs (linked with xlib) under Linux/UNIX
communicate to the X server with sockets and ...
-
Render communication on Mac, Windows
Hi,
I'm not sure if this is the right place to ask this question, but I couldn't
find any better place 
I know that x windows programs (linked with xlib) under Linux/UNIX
communicate to the X server with sockets and shared memory. The X server
displays the things to programs tell hem to show.
How is this done on other operating systems like MAC OS X and Windows? How
do GUI applications communicate with the GUI renderer that passes the whole
thing to the video adapter (right?). What are the (dis)advantages?
Thanks,
Bruno
-
Re: Render communication on Mac, Windows
Bruno Windels schrieb:
> I know that x windows programs (linked with xlib) under Linux/UNIX
> communicate to the X server with sockets and shared memory. The X server
> displays the things to programs tell hem to show.
>
> How is this done on other operating systems like MAC OS X and Windows? How
> do GUI applications communicate with the GUI renderer that passes the whole
> thing to the video adapter (right?). What are the (dis)advantages?
Hi Bruno!
I really don't understand exactly what kind of information you're
looking for. You can for example install Cygwin + XFree86 under Windows
and use your program.
If you're looking for a possibility to write platform independant
programs have a look at:
http://wxwindows.org/
HTH
Oliver
-
Re: Render communication on Mac, Windows
In comp.windows.x, Bruno Windels
wrote
on Sun, 09 Nov 2003 02:18:38 GMT
<2uhrb.12672$A04.493692@phobos.telenet-ops.be>:
> Hi,
>
> I'm not sure if this is the right place to ask this question, but I couldn't
> find any better place 
>
> I know that x windows programs (linked with xlib) under Linux/UNIX
> communicate to the X server with sockets and shared memory. The X server
> displays the things to programs tell hem to show.
>
> How is this done on other operating systems like MAC OS X
> and Windows? How do GUI applications communicate with the
> GUI renderer that passes the whole thing to the video adapter
> (right?). What are the (dis)advantages?
>
> Thanks,
> Bruno
It's a good question and I can furnish only the barest hint
of a partial answer; I'm pretty sure that Windows renders
through a video driver, which basically means they've set
up a procedural interface of some sort through a ring 0
DLL (?) to initialize the video card and possibly to manage
the mapping of the video RAM into the system's virtual
address space.
(Many cards have hardware acceleration capabilities,
so it's not quite as simple as "splot pixels on virtual
memory". The X server can also take advantage of such
acceleration, if it knows about the accelerator hardware
and how to activate it. Also, it's not clear to me
how much video RAM modern cards can expose at a time to
the PC's data buss, because of various arcania relating
to the IBM PC's initial decision to put everything in
B800:000 and a later decision to shove everything into
A000:0000-BFFF:FFFF; therefore, things get interesting
regarding twiddling of offset registers in the card.
I'd have to dig for the details.)
This contrasts interestingly with X's decision, long ago,
to explicitly represent the drawing instructions as a
network protocol (look in /usr/X11R6/include/Xproto.h for
some of the details therein); X's decision arguably leads
to better performance (because of queueing and batching)
and definitely allows network transparency.
I don't know what the current incarnations of Mac OS do.
X can run in Mac OS and in Windows; depending on the level
of integration one sees either a big separate window or a
series of top-level windows which look like native windows,
managed under Windows/MacOSX user window management code
(which is quite different from an X window manager, and
would preclude such from running).
--
#191, ewill3@earthlink.net
It's still legal to go .sigless.
-
Re: Render communication on Mac, Windows
Hi Oliver,
Thank you for your reply!
I'm just curieus what kind of Inter Process Communication (IPC) GUI
applications use under MacOSX and Windows to communicate to the application
that controls the display (the application that renders the whole thing,
like the X server on UNIX).
From information gathered on other newsgroups and irc channels, I have come
to know that the GUI renderer in Windows runs in kernel space (!!!!) so
they don't need IPC (nor security) and MacOSX uses RPC.
Oliver Vecernik wrote:
> Bruno Windels schrieb:
>> I know that x windows programs (linked with xlib) under Linux/UNIX
>> communicate to the X server with sockets and shared memory. The X server
>> displays the things to programs tell hem to show.
>>
>> How is this done on other operating systems like MAC OS X and Windows?
>> How do GUI applications communicate with the GUI renderer that passes the
>> whole thing to the video adapter (right?). What are the (dis)advantages?
>
> Hi Bruno!
>
> I really don't understand exactly what kind of information you're
> looking for. You can for example install Cygwin + XFree86 under Windows
> and use your program.
>
> If you're looking for a possibility to write platform independant
> programs have a look at:
>
> http://wxwindows.org/
For (cross-platform) GUI development, I prefer QT, but thanks anyway 
Thanks!
>
>
> HTH
> Oliver