Skip to content

google/ion

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
ion
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Ion

Ion is a portable suite of libraries and tools for building client applications, especially graphical ones. It is small, fast, robust, and is cross-platform across many platforms and devices, including desktops, mobile devices, browsers, and other embedded platforms.

For more details and a fair amount of documentation see https://google.github.io/ion.

Why Use Ion?

  • Small: < 500k binary size on mobile platforms, often much smaller
  • Powerful: Tools for faster productivity when developing applications
    • Robust, portable application infrastructure aids in:
    • Object lifetime management
    • Memory allocation
    • Application start-up and static instances
    • Threading
    • Run-time setting editing
    • Automatic performance instrumentation
    • More!
  • Tools for graphics:
    • Analyze graphics scenes to find performance bottleneck
    • Trace all OpenGL calls and examine their arguments
    • Use scene resources in multiple contexts, automatically
    • Run-time graphics state introspection
    • Run-time shader editing: change your shaders and immediately see the results
  • Fast graphics: Minimal overhead between your application and OpenGL / ES
  • Tested: Well-tested and facilitates testing your application
    • ~100% test coverage
    • Black- and white-box tested, unit tests and integration tests
    • Mock implementation of OpenGL API allows direct renderer unit tests and validation
    • Integrated Remote: extensible API allows changing arbitrary application settings on-the-fly for faster development, testing, and debugging
  • Cross-platform:
    • Desktop: Linux, Mac OSX, Windows (OpenGL)
    • Handheld: Android (ARM, x86 MIPS), iOS (ARM and x86), and their 64-bit variants
    • Browser: Emscripten/asm.js, NaCl / pNaCl
  • Cross-functional
    • Used by many teams across Google, running on billions of devices through multiple Google products

NOTE: This is not an official Google product.