• Home
  • Game
    Action Simulation RPG Sports Casual Cards Music Puzzle Shooting Romance
  • Apps
    Business Social Lifestyle Shopping Tools Travel Finance Education News Health
  • Blogs

English 中文(简体) 中文(繁体) 한국어 日本語 Português Español Русский العربية Indonesia Deutsch Français ภาษาไทย
Home Apps Business Compare Sprite Draw Method
Compare Sprite Draw Method

Compare Sprite Draw Method

1
2
3
4
5
Download
  • Version 1.0.0
  • Category Business
  • Package Name com.terriblysimple.android.spritetest
  • Update Time December 25, 2024
  • Size 60.16KB
About this app

Enjoy millions of the latest Android apps, games, music, movies, TV, books, magazines & more. Anytime, anywhere, across your devices.

This app is targeted at developers, or anyone curious about performance differences between OpenGL and Canvas. Specifically, it measures the performance of drawing 2D sprites explicitly using OpenGL ES 2.0 with a hybrid of Java and C, and drawing 2D sprites using Canvas with Java.

When you are done running a test, you can see a benchmark analysis of the performance by pressing the device's back button.

It is similar to Sprite Method Test by Chris Pruett, but it is updated for OpenGL ES 2.0. His Sprite Method Test runs the outdated ES 1.0, and is broken on Jelly Bean (because of tripple buffering).

This app works on all devices which support OpenGL ES 2.0.

This is ad-free and nag-free.

More details:

Specifically, this app measures the performance of drawing 2D sprites explicitly using OpenGL ES 2.0 with a hybrid of Java and C, and drawing 2D sprites using Canvas with Java.

On every frame:

The background color shifts slightly, pulsing between red and white.

Each sprite moves a random (Gaussian) amount. If the center of a sprite goes over an edge of the screen, the sprite moves to a random screen location.

The Canvas test uses a SurfaceView and Canvas.drawBitmap(). All the calculations are done in Java (using Random.nextGaussian() and Random.nextFloat()) on a float[].

The OpenGL ES 2.0 tests use a GLSurfaceView in Java. Calculation is done in C (using drand48() and an inline C equivalent of Java's Gaussian algorithm) on a native float[]. Drawing is also done in C, using glDrawArrays(GL_POINTS, ...). C (NDK) methods are called every frame from Java through the JNI.

All tests have the identical overhead of profiling operations in Java.

Statistics:

The FPS information is about when frames are actually posted to the screen (technically, the SurfaceFlinger).

The Draw information is about the time it takes to issue (and glFlush() + glFinish(), in the OpenGL test) the drawing commands. It does not count the time to actually flip screen buffers.

The Push information (VBO only) is about the time it takes to push the vertex data to the GPU buffer. This will often be <.5ms (which rounds to 0.000s) per frame. When using the non-VBO OpenGL test, this time is essentially included in the draw time instead. In practical applications, it might take longer to push data to the GPU. This example contains only one VBO (or Vertex array) with 2 floats per sprite. Practical applications would have more data (such as size and texture information).

The Calc information is about the time it takes to calculate a frame's background color and the new position of each sprite. When JIT is enabled, calculation time is comparable between the Java (Canvas) test and the native (Open GL) tests, but with JIT disabled, Java suffers a significant penalty.

What's New in the Latest Version 1.0.0

Last updated on Oct 4, 2015 Version 1.0.0
Uploaded to Google Play
Download(60.16KB)
Users also viewed
  • Cattle Breeding Calculator

    Cattle Breeding Calculator

    1.3 July 15, 2025
  • Shortcuts+ Prelude

    Shortcuts+ Prelude

    1.0.3 July 14, 2025
  • 2017 Australian Holidays

    2017 Australian Holidays

    2.2.1 July 14, 2025
  • Fan Cars Fast As Lightning Walkthrough

    Fan Cars Fast As Lightning Walkthrough

    1.0 July 14, 2025
  • stdOrganizer - voice command

    stdOrganizer - voice command

    04.00.02 July 14, 2025
  • CleanOpsStaff-ProMobile-ADfree

    CleanOpsStaff-ProMobile-ADfree

    3.9 July 14, 2025
  • NETGEAR Product Selector

    NETGEAR Product Selector

    2.0 July 14, 2025
  • Automate storage permissions

    Automate storage permissions

    1.0 July 13, 2025
  • Sag Hallo

    Sag Hallo

    1.0 July 13, 2025
  • flo - meetings, todos & email

    flo - meetings, todos & email

    0.50.189 July 13, 2025
  • Pentaho BI - 3.5

    Pentaho BI - 3.5

    3.5 July 13, 2025
  • IP App: The IPv4 calculator

    IP App: The IPv4 calculator

    1.0 July 13, 2025
  • Notifire

    Notifire

    3.0.0 July 13, 2025
  • WiFi DD Doorbell

    WiFi DD Doorbell

    3.5 July 13, 2025
  • Redmine

    Redmine

    1.7.4 July 12, 2025
About Privacy Policy Terms of Service Cooking Policy

© Copyright 2017-2025 downzk.com