|
|
|
|
|
by barrkel
2232 days ago
|
|
It's quite different, actually, both in application programming logic and in expressive power of drawing primitives. With dirty rectangles, it's the application's responsibility to minimize much of its drawing; the renderer will at best avoid copying bits where the target of the bits lies outside the drawing rectangle. The renderer can only optimize in situations where the entire call is understood as a full primitive, and it knows that the result will lie outside the dirty rectangle. With rxi's approach, the application gets to define the commands which update the UI - which may be as complex as desired, as long as they have a calculable rectangle - and the cost of calculating that rendering can be skipped, without needing to query for dirty rectangles or doing any application-side conditional logic, beyond the layer that rxi wrote. It's particularly powerful if the rendering primitives are higher level than those provided by the native APIs. |
|