Slashdot Mirror


Introducing JITB — a Flash Player Built On the JVM

MBCook writes "Joa Ebert has started working on a new program called JITB. Announced in a talk at FITC San Fran, it's a Flash player written to use the Java JVM to run ActionScript, and in a simple graphics test case (making 1 million calls to flash.geom.Point) was 30x faster than Adobe's Flash player. There is an impressive demo video on YouTube showing the point test."

23 of 126 comments (clear)

  1. Just what the world needs by MikeRT · · Score: 2, Funny

    A tool that Oracle and Adobe can take for a legal Menage a trois

    1. Re:Just what the world needs by MouseR · · Score: 2, Interesting

      Er. Why would Oracle team up with Adobe`s Flash, given their JavaFX?

      Disclaimer: I work for Oracle.

  2. Screen capture software by nacturation · · Score: 4, Funny

    Does anybody know of screen capture software that reproduces the "I'm recording video of my monitor using my shitty cell phone" effect?

    --
    Want to improve your Karma? Instead of "Post Anonymously", try the "Post Humously" option.
    1. Re:Screen capture software by Anonymous Coward · · Score: 4, Funny

      Yes, unfortunately it only ships with shitty cell phones...

  3. 30X faster? by strokerace · · Score: 5, Informative
    Let's put this into perspective. Even the author of the software is calling for a reality check that's missing from the summary.

    From his site:

    Update: Please do not think that this implementation is 30x faster than the Flash Player developed by Adobe. One(!) microbenchmark is never a number you should count on. I would like to make clear that I never said this.

    1. Re:30X faster? by ConceptJunkie · · Score: 3, Funny

      The problem here is not that the claim of a 30x performance increase was fallaciously generalized based on one particular piece of code as compared with Adobe's player, but that anyone familiar with Flash would find this claim to seem quite plausible.

      If someone claimed that they made a compiler that, say, generated code that was 30x faster than what Microsoft's compiler or gcc could do, no one would believe it for a minute.

      --
      You are in a maze of twisty little passages, all alike.
  4. Pointless (no pun intended) by Anonymous Coward · · Score: 2, Insightful

    So an implementation of a language that only implements 1% of the functionality is less bloated and faster than the full implementation when running one very specific test? No fucking shit. I'm one of the first to bash Flash at any opportunity, but I'll wait and see how well this performs once it actually has some functionality before I start laughing at Adobe.

  5. Re:Ironically... by The+Salamander · · Score: 2, Informative

    Also available via html5/h.264:

    Enable html5 playback @ http://youtube.com/html5

  6. BSD by Anonymous Coward · · Score: 3, Interesting

    If this really works, then we will finally get Flash to work on BSD and 64 bit version of Linux.

  7. Re:Ironically... by microbee · · Score: 4, Interesting

    Yes, HTML5.

    Try to watch Youtube on a laptop with a really slow wireless connection. Then switch to an iPad.

  8. Adobe has one by Stan+Vassilev · · Score: 5, Informative

    Adobe (back then Macromedia) used to ship Flash in two version: native binary and Java version in the days when Java applets were popular. They stopped developing it around the time Flash 4 was out, because the tables have turned: Java applets were going down, while Flash was going up.

    The article never mentions any reason as to why this player was developed, and I'm struggling to come up with a reason myself, as it's easier to port the native runtime to any platform, than maintain an independent copy in a constant "catch up" mode.

    1. Re:Adobe has one by kick6 · · Score: 3, Insightful

      I'm struggling to come up with a reason myself, as it's easier to port the native runtime to any platform, than maintain an independent copy in a constant "catch up" mode.

      Semi-closed platforms like the iphone/ipod where the proprieters have turned their back on flash?

    2. Re:Adobe has one by norminator · · Score: 3, Insightful

      Apple isn't any more interested in allowing Java than Flash on the iPhone, so this won't help there.

    3. Re:Adobe has one by Stan+Vassilev · · Score: 2, Insightful

      Semi-closed platforms like the iphone/ipod where the proprieters have turned their back on flash?

      The introduction of yet another semi-functional Flash alternative is doing nothing to change this position, as it's a practical position, not one of open source ideology. Having it in Java makes this even less interesting to Apple.

      Steve Jobs, like any other mobile maker, can have full access to the actual Flash player source code, if he only wanted it. Maintaining an independent port is not cheaper than simply fixing the one Adobe provides.

    4. Re:Adobe has one by Adambomb · · Score: 4, Insightful

      Semi-closed platforms

      Semi?

      --
      Ice Cream has no bones.
  9. Re:Ironically... by Kilrah_il · · Score: 3, Funny

    An African Swallow... or a European one, I don't remember which one is slower... WHAAAAAAH (thrown into cliff).

    --
    Whenever in an argument, remember this.
  10. Re:Ironically... by Anonymous Coward · · Score: 4, Informative

    You're almost certainly going to get modded into oblivion for question His Holiness Steve Job's HTML5, but it's worth pointing out that you're absolutely correct, and it's because Flash allows for bandwidth-sensitive downloads and HTML5... doesn't.

    Basically, a Flash app can start streaming a movie and see how fast it's connecting at. If it's connecting too slowly, it can switch in mid-stream to a lower bandwidth stream and continue playing as if nothing happened.

    HTML5 can't do that.

    Strangely enough, QuickTime can do this automatically. But QuickTime isn't HTML5, and so if you're serving up an MP4 file so that it plays in both Chrome and Safari, well, you won't get that feature. You have to create the special QuickTime specific index MOV file, and that can only be done using QuickTime Pro.

    Which, incidentally, is what you're "supposed" to do when serving content for the iPad and iPhone.

  11. Don't talk till you hit full compatibility. by spinkham · · Score: 4, Insightful

    This means very little. Anyone can make a subset of a language faster then a full implementation.

    The Ruby world has been through this recently: Someone comes out with a fantastic runtime that supports 1/8 of the ruby language, and it's 10x faster then everything else!

    There's lots of hype, but as development continues the other runtimes get 2x faster, and the new magic runtime gets 5x slower by actually supporting the whole language, and the new magic runtime is now the same speed as the rest of the field, with less compatibility and more memory usage.

    So color me skeptical, until this runtime supports the whole language, including transparent overlays and all the stuff that the Adobe guys claim makes Flash slow.

    Even the author of this article will tell you this. He recently added:

    Update: Please do not think that this implementation is 30x faster than the Flash Player developed by Adobe. One(!) microbenchmark is never a number you should count on. I would like to make clear that I never said this.

    That being said, If we're stuck with Flash for at least the near term, I'd like to see projects like this, Gordon, and Smokescreen take off and perhaps improve our choices in runtimes. I just don't expect magic.

    --
    Blessed are the pessimists, for they have made backups.
  12. This corroborates what we all know... by malraid · · Score: 2, Insightful

    ... java is slow and a memory hog. (for the sarcasm impaired, yes, I'm joking).

    --
    please excuse my apathy
    1. Re:This corroborates what we all know... by ruiner13 · · Score: 3, Funny

      It just proves that if there is anything that executes slower than java, it is flash!

      --

      today is spelling optional day.

  13. Implementation dependant by DrYak · · Score: 2, Interesting

    HTML5 can't do that.

    HTML5 only specifies the source URL where to get the media from. Doesn't specify how to play it nor exactly how to download it.

    Of course you could just implement it in a dumb straight forward way : like download the whole damn file and just play it.

    But some data containers, like the OGG container with is pushed forward by OSS at least for Vorbis and Theora (and could be used for VP8 too) are designed in such a way that different chunks can contain different level of details (think like a progressive JPEG). A more advanced software could download the metadata and then only selectively download parts of the file that contain the chunks that it can play within the bandwidth limit. (Think : only downloading the first part of a progressive JPEG which contain the lower resolution data).

    I don't know if Matroska (the preferred container for VP8 codec as part of Google/On2's WebM) can do it too.

    --
    "Sufficiently advanced satire is indistinguishable from reality." - [Tips: 1DrYakQDKCQ6y52z6QbnkxHXAocMZJE61o ]
  14. JVM optimisations by DrYak · · Score: 3, Informative

    The article never mentions any reason as to why this player was developed, and I'm struggling to come up with a reason myself

    I would think that the JVM itself is the main reason.
    Flash uses Actionscript, a variant of ECMAScript, just like Javascript.
    To run it fast enough, an implementation needs a fast and nice actionscript engine.
    One possibility would be to get a Javascript engine like Google's V8, Mozilla's Trace- / Jaegger-Monkey, Adobe's own opensourced Tamarin, etc.
    The other possibility is to use a well known and well optimised VM like Java and compile the Javascript into Java bytecode. This makes the process more complex, but leverages the years of JVM development.

    Also the second advantage is that lots of hardware contain already a functionning JVM : Lots of phone have Java EE, Android has the Java-like Dalvik (which can run java byte code after a transcoding), etc.

    as it's easier to port the native runtime to any platform

    Saddly, the main reference implementation of Flash is closed source (except for the Tamarin engine).
    So for a port you have 3 possibilities :
    - wait for Adobe to port the latest official player. Saddly they aren't doing it for lots of different architecture
    - port yourself one of the open source implementation (Gnash, LightSpark, Swfdec)
    - use a multi-platform player (Java)

    --
    "Sufficiently advanced satire is indistinguishable from reality." - [Tips: 1DrYakQDKCQ6y52z6QbnkxHXAocMZJE61o ]
    1. Re:JVM optimisations by binarylarry · · Score: 2, Informative

      "The JavaScript compiler translates JavaScript source into Java class files. The resulting Java class files can then be loaded and executed at another time, providing a convenient method for transfering JavaScript, and for avoiding translation cost."

      http://www.mozilla.org/rhino/jsc.html

      --
      Mod me down, my New Earth Global Warmingist friends!