Skip to content

drkibitz/openfl-drkibitzmark

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

drkibitz drkibitz Mark

Tests rendering performance using Haxe and Openfl. Based on all the previous versions of the Bunny Benchmark by Ian Lobb.

Running

  • If you haven't already, please follow these directions to get OpenFL up and running.
  • Run the following command, where {target} is the OpenFL target, and {IMPLEMENTATION} is the rendering implementation:
openfl test {target} -D{IMPLEMENTATION}
  • Alternatively, open the project.xml file and change the following:
<!-- Default implementation -->
<set name="MARK_BITMAP" />
  • When your application starts, watch the trace output for stats.

Implementations

If you have "the most amazing" rendering engine and would like it included, let me know! Please, just make sure it is compatible with OpenFL. If so, I'll try to make a mark for it.

bitmap

  • Define MARK_BITMAP
  • Use the default display list and Bitmap objects

blit

  • Define MARK_BLIT
  • Render using one large Bitmap and copyPixels (blitting)

drawtiles

  • Define MARK_DRAWTILES
  • Render using a Tilesheet, drawList Array, and drawTiles

pixi

  • Define MARK_PIXI
  • OpenGLView rendering using a very small haxe fork of Pixi.js
  • flash target is incompatible

tilelayer

  • Define MARK_TILELAYER
  • Requires openfl-tilelayer. To install run haxelib install tilelayer.

Expected Results

Screen Shot

Tested Targets

These are just my home tests, and includes my observations of implementation performance from best to worst. I'm not including any numbers (yet). Sorry, please build, watch the stats, and see for yourself.

  • neko: drawtiles -> tilelayer -> pixi -> blit -> bitmap
  • html5: pixi -> blit -> drawtiles -> tilelayer -> bitmap
  • mac: drawtiles -> tilelayer -> pixi -> blit -> bitmap
  • linux: drawtiles -> tilelayer -> pixi -> blit -> bitmap
  • ios: drawtiles -> tilelayer -> pixi -> blit -> bitmap
  • flash: blit -> bitmap -> drawtiles -> tilelayer

TODO

  • Eventually create an openfl-stage3d mark
  • Would like to remove the small fork of Pixi.js and use a proper GL implementation
  • May do something with openfl-pixi, but not sure