LPC: Life after X
Posted Nov 5, 2010 22:15 UTC (Fri) by
dskoll (subscriber, #1630)
Parent article:
LPC: Life after X
I don't understand why "Network Transparency" and "High-Performance" need to be mutually-exclusive. It seems to me that if the design is done carefully, then the graphics API can dynamically load a high-performance library that renders directly on the local machine for local clients, and a network-aware library for remote rendering otherwise. Something like this pseudo-code:
if (running_locally()) {
handle = dlopen("fast_local_renderer.so");
} else {
handle = dlopen("slow_network_renderer.so");
}
/* Now use handle for all rendering calls internally */
All of this would be hidden from the application. It would just make calls to the rendering library and not know or care which rendering engine is actually used. Of course, on the other end, there would need to be a network-listening application to accept connections from clients, but that wouldn't even have to be a core part of the renderer. It would just use whatever network protocol is decided on and boil it down to local rendering requests.
Mobile devices that don't need network transparency just wouldn't ship slow_network_renderer.so or the network-aware server application.
(
Log in to post comments)