1. Order is guaranteed. 2. Steps happen up to once Choreographer.java void doFrame(long frameTimeNanos, int frame) { //... doCallbacks(Choreographer.CALLBACK_INPUT, frameTimeNanos); doCallbacks(Choreographer.CALLBACK_ANIMATION, frameTimeNanos); doCallbacks(Choreographer.CALLBACK_TRAVERSAL, frameTimeNanos); doCallbacks(Choreographer.CALLBACK_COMMIT, frameTimeNanos); //…
4. Shading determine each pixel’s color (ARGB). paint.setColor(), paint.setColorFilter(), paint.setShader() Chiu-Ki Chan: Fun With Android Shaders And Filters
5. Transfer How to transfer color to destination Bitmap paint.setXfermode() Source Image Destination Image Transfer Mode Defaults to : PorterDuffXferMode (SRC_OVER) https://developer.android.com/reference/android/graphics/PorterDuffXfermode.html
GPU Profiling Tool ● A graph per visible app ● A bar per frame ● 16ms benchmark ● Crossing = skipping frame https://developer.android.com/studio/profile/dev-options-rendering.html