Using experience from developing a number of user-tested realtime applications and games, this session will provide a number of optimisations to rendering your SurfaceView at speed. Starting with a short explanation of how a SurfaceView works, Maarten will discuss a number of improvements, from the obvious of limiting fillrate and how you can do that with a SurfaceView, to matters such as tricks for limiting and eliminating object creation during runtime. Then Maarten will discuss the less obvious such as how user interaction can kill framerate and how you can bypass that. Maarten will also delve into topics such as proper timing, the rendering loop and threading and buffering techniques. All this will be supported by production proven code so the attendee will come away from the session with the knowledge to create their own butter-smooth SurfaceView.