README.android updates regarding the use of dirty rectangles rendering technique
authorGabriel Jacobo <gabomdq@gmail.com>
Fri, 08 Mar 2013 11:30:25 -0300
changeset 69798d6ab3bdc08b
parent 6978 e851407e9294
child 6980 1d3565d686f1
README.android updates regarding the use of dirty rectangles rendering technique
README.android
     1.1 --- a/README.android	Thu Mar 07 20:42:55 2013 -0800
     1.2 +++ b/README.android	Fri Mar 08 11:30:25 2013 -0300
     1.3 @@ -348,12 +348,30 @@
     1.4  ================================================================================
     1.5  
     1.6  Support for OpenGL ES/ES2 applications was introduced in the NDK for API level 9, 
     1.7 -which has since then been obsoleted, and the recommendation to developers was to 
     1.8 +which has since then been obsoleted, with the recommendation to developers to 
     1.9  bump the required level to 10.
    1.10  As of this writing, according to http://developer.android.com/about/dashboards/index.html
    1.11  about 90% of the existing Android devices support an API level 10 or higher.
    1.12  
    1.13  ================================================================================
    1.14 + A note regarding the use of the "dirty rectangles" rendering technique
    1.15 +================================================================================
    1.16 +
    1.17 +If your app uses a variation of the "dirty rectangles" rendering technique,
    1.18 +where you only update a portion of the screen on each frame, you may notice a
    1.19 +variety of visual glitches on Android, that are not present on other platforms.
    1.20 +This is caused by SDL's use of EGL as the support system to handle OpenGL ES/ES2
    1.21 +contexts, in particular the use of the eglSwapBuffers function. As stated in the
    1.22 +documentation for the function "The contents of ancillary buffers are always 
    1.23 +undefined after calling eglSwapBuffers".
    1.24 +Setting the EGL_SWAP_BEHAVIOR attribute of the surface to EGL_BUFFER_PRESERVED
    1.25 +is not possible for SDL as it requires EGL 1.4, available only on the API level
    1.26 +17+, so the only workaround available on this platform is to redraw the entire
    1.27 +screen each frame.
    1.28 +
    1.29 +Reference: http://www.khronos.org/registry/egl/specs/EGLTechNote0001.html
    1.30 +
    1.31 +================================================================================
    1.32   Known issues
    1.33  ================================================================================
    1.34