Symbian3/SDK/Source/GUID-F64E6551-670E-5E12-8103-DE504D3EC94F.dita
changeset 7 51a74ef9ed63
child 8 ae94777fff8f
equal deleted inserted replaced
6:43e37759235e 7:51a74ef9ed63
       
     1 <?xml version="1.0" encoding="utf-8"?>
       
     2 <!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
       
     3 <!-- This component and the accompanying materials are made available under the terms of the License 
       
     4 "Eclipse Public License v1.0" which accompanies this distribution, 
       
     5 and is available at the URL "http://www.eclipse.org/legal/epl-v10.html". -->
       
     6 <!-- Initial Contributors:
       
     7     Nokia Corporation - initial contribution.
       
     8 Contributors: 
       
     9 -->
       
    10 <!DOCTYPE concept
       
    11   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
       
    12 <concept id="GUID-F64E6551-670E-5E12-8103-DE504D3EC94F" xml:lang="en"><title>The
       
    13 Non-ScreenPlay Graphics Architecture</title><shortdesc>ScreenPlay provides improved support for graphics hardware acceleration
       
    14 and some other new features. However, it is possible to use the Symbian platform
       
    15 without enabling ScreenPlay. This is called the non-ScreenPlay variant (sometimes
       
    16 referred to as the <b>non-NGA</b> variant). This topic provides an introduction
       
    17 to the graphics architecture when ScreenPlay is <b>not</b> enabled. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
       
    18 <p>The following diagram shows the non-ScreenPlay architecture. It includes
       
    19 the components in the Graphics package and some closely related components
       
    20 in other packages. </p>
       
    21 <fig id="GUID-060B8747-36A8-5F2A-BE82-0F637381673A">
       
    22 <title>The Symbian Foundation non-ScreenPlay graphics architecture </title>
       
    23 <image href="GUID-1EC68F99-C383-5D3A-BAE9-52AF530F8445_d0e191485_href.png" placement="inline"/>
       
    24 </fig>
       
    25 <p>The software model is as follows: </p>
       
    26 <ul>
       
    27 <li id="GUID-8BDB2015-C8FD-51EC-AB19-A55C55DD6D4B"><p>The Hardware Adaptation
       
    28 Layer (HAL) consists of the frame buffer and basic attributes. All processes
       
    29 have equal access to the frame buffer and can both read and write to it. </p> </li>
       
    30 <li id="GUID-06209922-9276-5843-95ED-CCE01A96A67C"><p>The Screen Driver provides
       
    31 simple pixel, scan-line and bitmap operations. The Screen Driver has the same
       
    32 interface for both bitmaps and the frame buffer. Hardware manufacturers can
       
    33 adapt the Screen Driver to suit the available hardware. </p> </li>
       
    34 <li id="GUID-333C52F6-5B6C-5212-8286-B344749550B5"><p>The BitGDI component
       
    35 provides support for higher-level geometric primitives and text. The BitGDI
       
    36 component is implemented in terms of Screen Driver operations. All BitGDI
       
    37 rendering operations are synchronous. </p> </li>
       
    38 <li id="GUID-B542796F-47AE-5B8A-976A-446315EC6550"><p>The Window Server multiplexes
       
    39 access to the screen and provides a BitGDI-like interface. </p> </li>
       
    40 <li id="GUID-81912D86-0CF6-5399-84FF-904E15BA8B50"><p>The Window Server provides
       
    41 Direct Screen Access (DSA) support for applications that require high frame
       
    42 rates (such as video and games) to bypass the Window Server and write to the
       
    43 frame buffer directly. However, some interaction with the Window Server is
       
    44 needed to prevent the application from drawing over other application's data. </p> </li>
       
    45 </ul>
       
    46 <p>In addition, the non-ScreenPlay architecture provides support for EGL,
       
    47 OpenGL and OpenVG. </p>
       
    48 <p>The following diagram shows the rendering stack in the non-ScreenPlay variant. </p>
       
    49 <fig id="GUID-4A245007-BE0A-5DD6-A3D5-CAD9A16E0540">
       
    50 <title>The rendering stack in the non-ScreenPlay variant</title>
       
    51 <image href="GUID-A51AB0B8-A13D-52D0-BEF8-435F76B30941_d0e191530_href.png" placement="inline"/>
       
    52 </fig>
       
    53 
       
    54 <p>Although DSA provides a solution for applications that require high frame
       
    55 rates, the non-ScreenPlay architecture has limitations when used on graphics
       
    56 accelerated hardware and non-uniform memory models. The architecture may require
       
    57 the copying of buffers between CPU and GPU memory as shown in the following
       
    58 diagram. ScreenPlay provides a solution that requires less copying of buffers
       
    59 in this type of use case. </p>
       
    60 <fig id="GUID-0EAF51D1-173E-52E2-8E28-C5FB7F6F9BD0">
       
    61 <title> Example non-uniform memory, non-ScreenPlay hardware model </title>
       
    62 <image href="GUID-AB35BA46-87DB-59F0-9342-75550AD338B7_d0e191542_href.png" placement="inline"/>
       
    63 </fig>
       
    64 </conbody><related-links>
       
    65 <link href="GUID-D93978BE-11A3-5CE3-B110-1DEAA5AD566C.dita"><linktext>The ScreenPlay
       
    66 Architecture</linktext></link>
       
    67 <link href="GUID-EF62BF88-3687-505D-8BD7-EEDF36246E56.dita"><linktext>Graphics
       
    68 Hardware Acceleration</linktext></link>
       
    69 <link href="GUID-99BC101A-9466-59EE-B5C9-7622BAF6E6FF.dita"><linktext>Graphics
       
    70 Concepts</linktext></link>
       
    71 </related-links></concept>