|
The new core of NX 4 is made up of a set of libraries written from the
ground up to ensure portability, flexibility and state-of-the art performance.
NX 4 core libraries will not be made open source. Although NX 3.x core compression
technology and earlier versions will remain GPL, NoMachine engineers will not be
developing the code further.
Thanks to the new core, it is now possible to extend NX to platforms and hardware
architectures that are not supported yet, such as FreeBSD, AIX, ARM, smartphones,
set-top-boxes and even smart domestic appliances.
A major structural change in NX 4 core components is the extensive use of multiple threads
in order to parallelize activities and make better use of resources especially -
but not only - on multiple processor systems.
Older versions of NX X11 agents had two main tasks to accomplish: the "display" (meant as the
interface with X11 applications) and the "proxy" (the section placed between the agent and
a remote X11 server). When the display task went to idle state (waiting for IO) the proxy
task caught control. In this way, they could cooperate in a single-threaded process.
In the new implementation, display and proxy run in separate threads. This improves
performance also for computers having a single processor, the scheduling being done by
the operating system.
Moreover, the code for creating, monitoring and disposing of threads has been written with
a view to being flexibility, so that many subsidiary tasks in the agent process can be now
accomplished by separate service threads. IO operations have been carefully implemented in order to achieve
high-level performance.
Important work has been done to keep platform-specific detail under an abstraction layer.
This makes writing portable code easier as well as being a big step forward in porting the code
to other platforms.
Considerable effort has been made to improve and make the NX agent more flexible. All constraints
preventing the same NX session being migrated to and from displays having different settings
(e.g. the color depth) no longer exist and migrating sessions is always possible.
This improved NX agent has become an essential component for the new web-based display mode
in its capability to start without being connected to any X11 display. This allows the
agent to have alternative display modes (for example a web-based display mode), which is
different from the X11 display that was in use in previous versions of NX.
|