[haiku-appserver] Re: user needs to know about the clipping region?
- From: Adi Oanca <adioanca@xxxxxxxxx>
- To: haiku-appserver@xxxxxxxxxxxxx
- Date: Thu, 24 Nov 2005 20:16:12 +0200
Axel Dörfler wrote:
Adi Oanca <adioanca@xxxxxxxxxxxxxx> wrote:
Also, having double buffered windows would spare us converting
_any_ drawing
instruction coordinates and the local visible region into screen
coords.
It's true, we would loose some 2D capabilities like rectangle fill,
but once we
make use of 3D HW and OpenGL, we can have them back. SSE/MMX could
help us in
the mean time.
But that would only be true if the window buffer wouldn't be in the RAM
of the graphics card, right?
(I'm not talking about our current driver interface but about the
capabilities of the graphics cards, btw)
Right, but I haven't said or thought of all. :-)
Drawing will be made in a surface in main memory which will be fetched
by the graphics hardware in video memory. That surface will be exactly
the area that needs to be updated. Why that? Because writing in graphics
RAM point by point is more expensive than drawing in main mem and then
tell the engine to use AGP 8x or PCI-e to fetch that surface. (This is
especially true with antialiased text and gradients but also for a AA
primitives)
Lots of windows will be kept in video RAM and what needs to be updated
is first drawn in main memory and then replaces the corresponding part
of the window in graphics RAM. There will be a preallocated space in
main mem and when a window needs to update something, it locks a part
for that surface. When it's done drawing that part will be fetched by
the graphic card and the surface becomes available for other windows.
As you see, ATM I have said nothing about HW acc and I guess you
realized 2D rectangle fill is totally out. Scrolling is still possible,
so is blitting. That may change in future as I think every drawing
instruction can be translated into vertices and drawn by the 3D engine,
with gradient even! And AA! Even fonts can be accelerated if they are
cached in video ram.
This is what I have thought of. It's an idea to start from. If you
agree with the concept I could start writing a paper which we could
discuss and improve.
bye,
Adi.
- Follow-Ups:
- [haiku-appserver] Re: user needs to know about the clipping region?
- From: Axel Dörfler
- [haiku-appserver] Re: user needs to know about the clipping region?
- From: Stephan Aßmus
- References:
- [haiku-appserver] Re: user needs to know about the clipping region?
- From: Axel Dörfler
Other related posts:
- » [haiku-appserver] user needs to know about the clipping region?
- » [haiku-appserver] Re: user needs to know about the clipping region?
- » [haiku-appserver] Re: user needs to know about the clipping region?
- » [haiku-appserver] Re: user needs to know about the clipping region?
- » [haiku-appserver] Re: user needs to know about the clipping region?
- » [haiku-appserver] Re: user needs to know about the clipping region?
- » [haiku-appserver] Re: user needs to know about the clipping region?
- » [haiku-appserver] Re: user needs to know about the clipping region?
- » [haiku-appserver] Re: user needs to know about the clipping region?
- » [haiku-appserver] Re: user needs to know about the clipping region?
- » [haiku-appserver] Re: user needs to know about the clipping region?
- » [haiku-appserver] Re: user needs to know about the clipping region?
- » [haiku-appserver] Re: user needs to know about the clipping region?
- » [haiku-appserver] Re: user needs to know about the clipping region?
- » [haiku-appserver] Re: user needs to know about the clipping region?
- » [haiku-appserver] Re: user needs to know about the clipping region?
- » [haiku-appserver] Re: user needs to know about the clipping region?
- » [haiku-appserver] Re: user needs to know about the clipping region?
- » [haiku-appserver] Re: user needs to know about the clipping region?
- » [haiku-appserver] Re: user needs to know about the clipping region?
- » [haiku-appserver] Re: user needs to know about the clipping region?
- » [haiku-appserver] Re: user needs to know about the clipping region?
- » [haiku-appserver] Re: user needs to know about the clipping region?
- » [haiku-appserver] Re: user needs to know about the clipping region?
- » [haiku-appserver] Re: user needs to know about the clipping region?
- » [haiku-appserver] Re: user needs to know about the clipping region?
- » [haiku-appserver] Re: user needs to know about the clipping region?
- » [haiku-appserver] Re: user needs to know about the clipping region?
- » [haiku-appserver] Re: user needs to know about the clipping region?
- » [haiku-appserver] Re: user needs to know about the clipping region?
- » [haiku-appserver] Re: user needs to know about the clipping region?
Adi Oanca <adioanca@xxxxxxxxxxxxxx> wrote:
Also, having double buffered windows would spare us converting _any_ drawing instruction coordinates and the local visible region into screen coords.
It's true, we would loose some 2D capabilities like rectangle fill, but once we make use of 3D HW and OpenGL, we can have them back. SSE/MMX could help us in the mean time.
But that would only be true if the window buffer wouldn't be in the RAM of the graphics card, right?
(I'm not talking about our current driver interface but about the capabilities of the graphics cards, btw)
bye, Adi.
- [haiku-appserver] Re: user needs to know about the clipping region?
- From: Axel Dörfler
- [haiku-appserver] Re: user needs to know about the clipping region?
- From: Stephan Aßmus
- [haiku-appserver] Re: user needs to know about the clipping region?
- From: Axel Dörfler