[Gtkradiant] [Bug 227] enhancement-2d view options
gtkradiant@zerowing.idsoftware.com
gtkradiant@zerowing.idsoftware.com
Wed, 03 Apr 2002 18:05:06 -0600
http://zerowing.idsoftware.com/bugzilla/show_bug.cgi?id=227
------- Additional Comments From ydnar@rasterproductions.com 2002-04-03 18:05 -------
The point of latent updating is to minimize latency between user action and the
object the user is manipulating directly.
Another example of this would be rendering the views in a progressive manner,
for example the camera window:
- Crudely sort the entity list on distance from the camera.
- Walk sorted list in order, and every N ms, allow it to be interrupted if the
user state has changed. At this point the view is marked "dirty" and will to be
fully refreshed.
- If the state doesn't change, the view is fully rendered.
This would result in faster interactive performance when the user wants it most
(mouselooking or driving around in the camera view), but still provides
a "full" view of the scene when UI latency is less important (the user isn't
clicking or hitting keys...idle time).
This approach is used by many programs, such as Photoshop or GIMP (tiled
images), Lightwave (interrupted rendering) and the Myth series of games
(software renderer in unfiltered mode). Certain other programs go a step
further and render using a less-expensive method (wireframe, for example) when
UI latency is a factor.
A simpler example is resizing a window. Most windowing systems use an outline
to approximate the size of a window rather than reflowing/refreshing a window
when you resize it. This is less relevant on a faster machine, but could you
imagine trying to resize Slashdot on IE on a Pentium 90 box?
The human eye is pretty forgiving, and when you're trying to look at something
or move the camera around, a fast-but-crude approximation (or unfinished)
render is preferable to waiting for a full refresh.
------- You are receiving this mail because: -------
Whoops! I have no idea!