51 applications on the system. Each client thread opens a session to |
51 applications on the system. Each client thread opens a session to |
52 the server, and issues requests for service. </p> <fig id="GUID-4EEE0DBF-A4DC-59A1-8310-504BF05204C7"> |
52 the server, and issues requests for service. </p> <fig id="GUID-4EEE0DBF-A4DC-59A1-8310-504BF05204C7"> |
53 <title> Window Server </title> |
53 <title> Window Server </title> |
54 <desc><p>The Window Server controls access by many client applications, |
54 <desc><p>The Window Server controls access by many client applications, |
55 to the machine’s screen, keyboard and pointer. </p> </desc> |
55 to the machine’s screen, keyboard and pointer. </p> </desc> |
56 <image href="GUID-FE4BBEB4-4E5A-5BF2-A72F-AF53BAD83518_d0e187538_href.png" placement="inline"/> |
56 <image href="GUID-FE4BBEB4-4E5A-5BF2-A72F-AF53BAD83518_d0e192526_href.png" placement="inline"/> |
57 </fig> <p>The Window Server thread runs at a higher priority than |
57 </fig> <p>The Window Server thread runs at a higher priority than |
58 any application; only the kernel runs at a higher priority. Therefore, |
58 any application; only the kernel runs at a higher priority. Therefore, |
59 all applications' requests for screen updates, and all handling of |
59 all applications' requests for screen updates, and all handling of |
60 machine events such as pointers and keys, are handled at higher priority |
60 machine events such as pointers and keys, are handled at higher priority |
61 than any individual application. </p> <p>Each client application runs |
61 than any individual application. </p> <p>Each client application runs |
77 server client-side API</title> <p>The following diagram shows the |
77 server client-side API</title> <p>The following diagram shows the |
78 key classes in the Window Server client-side library. Below the diagram |
78 key classes in the Window Server client-side library. Below the diagram |
79 we provide a summary of the key concepts. </p> <fig id="GUID-A84A2706-1AF0-598B-976E-0980AD69E6E7"> |
79 we provide a summary of the key concepts. </p> <fig id="GUID-A84A2706-1AF0-598B-976E-0980AD69E6E7"> |
80 <title> Window Server client-side API classes |
80 <title> Window Server client-side API classes |
81 </title> |
81 </title> |
82 <image href="GUID-FEFF353E-DE8A-5FBA-B696-CD01D06BE813_d0e187563_href.png" placement="inline"/> |
82 <image href="GUID-FEFF353E-DE8A-5FBA-B696-CD01D06BE813_d0e192551_href.png" placement="inline"/> |
83 </fig> <table id="GUID-37EDAB58-6F7B-526A-8E46-891598924120"> |
83 </fig> <table id="GUID-37EDAB58-6F7B-526A-8E46-891598924120"> |
84 <tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/> |
84 <tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/> |
85 <thead> |
85 <thead> |
86 <row> |
86 <row> |
87 <entry>Concept</entry> |
87 <entry>Concept</entry> |
176 <entry><p>Mainly used in the non-ScreenPlay variant, DSA enables applications |
176 <entry><p>Mainly used in the non-ScreenPlay variant, DSA enables applications |
177 that require high frame rates (such as video and games) to bypass |
177 that require high frame rates (such as video and games) to bypass |
178 the Window Server and write to the screen directly. This avoids client-server |
178 the Window Server and write to the screen directly. This avoids client-server |
179 communication and as a result is faster. However, some interaction |
179 communication and as a result is faster. However, some interaction |
180 with the Window Server is needed to prevent the application from drawing |
180 with the Window Server is needed to prevent the application from drawing |
181 over other application's data. </p> <p>In ScreenPlay, Symbian recommends |
181 over other application's data. </p> <p>On ScreenPlay, support for |
182 the use of <xref href="GUID-1C025957-258C-54C0-94A5-AD60C14E6D76.dita">external surfaces</xref> in preference to DSA. However, support for |
182 direct screen access (DSA) is maintained for backward compatibility |
183 DSA is maintained for backward compatibility reasons, although there |
183 reasons, although Symbian recommends the use of <xref href="GUID-1C025957-258C-54C0-94A5-AD60C14E6D76.dita">external surfaces</xref> in preference to DSA. However, whereas on some earlier devices, |
184 are some subtle changes in the support offered.</p><p>ScreenPlay does |
184 applications might work without fully conforming to the rules of DSA, |
185 not support the mixing of <xref href="GUID-0AEE5955-C530-35F1-A904-69183331B294.dita"><apiname>CWindowGc</apiname></xref> and DSA rendering |
185 these rules are now necessarily enforced. See <xref href="GUID-3F0FCBB5-98D2-4355-96E3-2DA938DE1C16.dita">DSA Migration Guide</xref> for information about the guidelines applications must follow in |
186 to the same window. When DSA rendering is present, any <codeph>CWindowGc</codeph> rendering to the same window is ignored. For example, an application |
186 order to be able to run correctly on a ScreenPlay device.</p> </entry> |
187 that uses <codeph>CWindowGC</codeph> rendering in one part of a window |
|
188 and DSA rendering in another part will not work as expected in a ScreenPlay |
|
189 environment. Similarly, <codeph>CWindowGc</codeph> rendering can no |
|
190 longer be used to seed the DSA content as it could previously. However, <codeph>CWindowGc</codeph> rendering can be provided but it is not rendered |
|
191 until the DSA rendering finishes. It is therefore best to avoid mixing |
|
192 the rendering types in the same window.</p> </entry> |
|
193 </row> |
187 </row> |
194 </tbody> |
188 </tbody> |
195 </tgroup> |
189 </tgroup> |
196 </table> </section> |
190 </table> </section> |
197 </conbody><related-links> |
191 </conbody><related-links> |