Graphics Reference
In-Depth Information
7 Applications, Challenges,
and Possibilities
In this chapter, we examine further the details of the implementation of control tech-
nology for computer graphics introduced in this topic. The objective is to provide
insights into practical aspects of designing such systems that we believe will allow
this topic to serve as a useful resource to practitioners in the control engineering and
computer graphics fields.
7.1 SYSTEM ARCHITECTURES
The plant and controller system architecture described throughout this topic may be
realised in several forms, depending on the application and performance require-
ments. We classify the forms in broad terms into three categories:
A. Plant and controller in the same computer in the same process (different
execution th reads)
B. Plant and controller in the same computer and in separate processes
C. Plant and controller in separate computers
As a quick primer, a process in computer programming terminology is the execution
of an instance of an application. A thread is a single path of execution within a pro-
cess. In addition, a process (essentially an application) can spawn and use multiple
threads. Since a process can consist of multiple threads, a thread is commonly clas-
sified as a lightweight process. Often, the essential differentiating point between a
thread and a process is the nature of the task assigned to be accomplished.
Traditionally, developers use threads for smaller and specialised tasks such as net-
work communication and to achieve parallelism in application design. In contrast,
processes are used for heavyweight tasks and involve broader scopes encompassing
most other subtasks of an application. Another important fact is that threads within
the same process share the same memory address space, whereas processes do not.
This implies faster execution for threads because it allows them to read from and write
to the same data structures, facilitating speedier communications between them.
In Configuration A, the controller is built into the rendering application. With this
architecture, the implementation of the controller's design must follow the program-
ming language by which the rendering application is developed. In other words, the
developer must use the same programming language as the rendering application
to code the controller. Since the plant and controller are compiled and built into the
same binary, this configuration provides fast speed for runtime execution.
95
 
Search WWH ::




Custom Search