home *** CD-ROM | disk | FTP | other *** search
- Path: Hermes.grace.irl.cri.nz!maths!peterm
- From: peterm@maths.grace.cri.nz (Peter McGavin)
- Newsgroups: comp.sys.amiga.programmer
- Subject: Re: Demo/game to OS friendly part II
- Date: 29 Jan 1996 03:40:36 GMT
- Organization: Industrial Research Ltd
- Distribution: world
- Message-ID: <PETERM.96Jan29164036@tui.maths.irl.cri.nz>
- References: <john.hendrikx.47u5@grafix.xs4all.nl>
- NNTP-Posting-Host: tui.grace.cri.nz
- In-reply-to: john.hendrikx@grafix.xs4all.nl's message of Sat, 20 Jan 96
- 18:26:39 GMT+1
-
- john.hendrikx@grafix.xs4all.nl (John Hendrikx) writes:
- >However, I think that accessing the screen-buffer directly is a
- >necessity for fast games, like a DOOM clone, as they want to do stuff
- >on a pixel basis which the OS doesn't provide standard functions for
- >(unlike line-drawing for example).
-
- Personally I would like to see what seems a completely opposite
- approach (for RTG). That is, I think gfx should be implemented
- something like DOS. Gfx primitives like Draw(), SetAPen(), Text(),
- etc, internally should use message-passing and packets. The Amiga has
- a big advantage over other platforms that messages don't have to be
- copied. Applications can choose either synchronous or asynchronous
- interfaces. Gfx card drivers would have standard async BeginIO()
- functions. The main advantages are:
-
- o This allows much better high-level _async_ graphics than the
- current implementation. Applications don't have to wait for
- each primitive to finish before they queue the next one. Indeed,
- an application could queue hundreds or thousands of operations
- in advance, then carry on with something else while the gfx
- system catches up. Another scenario is that the application
- queues only a few, large operations, such as a single, large,
- WritePixelArray8() which operates with async DMA and uses no
- CPU time. Thus, gfx coprocessors and DMA can be better
- utilised;
-
- o Gfx redirection across networks would be relatively trivial
- (much like X11).
-
- o It makes less assumptions about the underlying hardware. Gfx
- hardware doesn't even have to be memory-mapped.
-
- o It is more straightforward to share the same hardware between
- multiple tasks this way.
-
- But how could we reconcile such an interface with a system that allows
- direct hardware poking? (and which won't work with "non-standard" gfx
- hardware or networks, BTW.)
- --
- Peter McGavin. (p.mcgavin@irl.cri.nz)
-