Great thread. I happen to agree with both sides of this argument. While I like the idea of several of the current native/java game engines maybe collaborating, coming up with some sort of presentation on why it's prudent for Android to have a much more solid "game capable" api/sdk, I also think that Google/Android has sort of said "Yes, apple/iPhone, we'll take you on, and maybe beat you at your game". There has been tons of articles showing how android will surpass iPhone in a couple years. Yet, I forget the percentage now, but I thought it was some 35% of the iPhone market is games.. and there has to be a decent population for audio apps. That's a pretty good sized market and to ignore that would to me be a potential death sentence for Android. Maybe not... just my gut. I think most teens/young twenties and a lot of us older adults that grew up with games look at platforms like Nintendo DS, PSP, and then compare to our droid/nexus, iPhones, etc and realize we have a much more capable bit of hardware in our single device.. why not make it a game/audio app/utility app/phone/calendar/internet tool all in one. iPhone is already clearly taking a chunk of Nintendo DS sales.. they say so themselves. Android devices like the Droid, Nexus, and many new phones coming out have 600+mhz cpus, lots of memory, etc.. they easily are more powrful than hand held game devices and we know that even before iPhone/Android that crappy mobile games on J2ME were huge all over the world. So while I don't know if it should fall squarely on google to build some robust gaming kit like XNA, I do think they should invest heavily right now, for a 3.0 release within the next year, that gives us a JIT, a lot more native access to things like audio hardware for low latency, and find a way to curb some of the potential GC issues many threads have brought up. I think right now, within this year, is the time that google has to really flesh out a solid much improved Android 3.0 that can compete on most levels with iPhone and keep in mind iPhone 4.0 due out in a few months will add multi-tasking (dying to see how they do this without breaking existing apps and how they are coded), more features, etc. I think in many many ways Android is a lot better than iPhone or anything MS will put out.
At the very least, I think it would be great for Google/Android team to figure out IF they are planning on doing anything close to the above... and let us developers know. I know many developers have said, and I too am waiting to see a much improved audio capability so that apps like iPhone BeatMaker and such can come out. Likewise this impacts game developers, along with other variables that many developers are quite clearly saying is impacting them on being able to build better games. The screen touch issue that is causing massive lag on input and slowing games down greatly, and the buggy multi-touch capabilities... all of these things need to be wrapped up into a 3.0, or a 2.5, 2.6 etc in the coming year so that developers get a few months or longer to make use of them and put out some really good games, music apps and such by mid 2011. Not that it will be game over, but I would think that this is important enough to developers that google/android team should listen and perhaps keep the developers posted on up coming changes to the platform. Is there any site that covers what is being worked on right now? Is there any info that we can read about, maybe provide some input on, that might be coming up in 2.2, 2.3, 2.5, 3.0, etc? I mean, if 3.0 is just getting started, perhaps nows the time to solicit the developers that will write apps for the platform and keep it alive for ideas and what is most important that they need to want to keep writing for Android. Just my .02. On Wed, Mar 17, 2010 at 7:40 PM, Bob Kerns <r...@acm.org> wrote: > I'd say instead that it doesn't NEED to slow you down. > > But if you store your entire scene graph on the native side, but do > all the manipulation of it on the Java side, with a lot of Java->Java > calls dispatched by the JNI layer in between, and lots of arrays > getting locked or copied -- I guarantee you'll regret it. > > But if you start with an intelligent architecture, so you're not just > replacing lots of Java calls to trivial code with JNI calls to trivial > code, you will usually be OK. > > Chris Pruett's strategy as he outlined it in this talk: > > http://code.google.com/events/io/2009/sessions/WritingRealTimeGamesAndroid.html > > I find to be a very solid strategy. > > BTW, the argument against moving things *unnecessarily* to JNI is not > just one of performance. It is also negatively affects how quickly you > can modify the code, how well you can test it, and how many bugs > you'll ship with. > > But so will doing weird things in Java to try to get it fast enough. > There's a point where it makes sense to move a body of code to JNI. > It's somewhere after you benchmark and think about the problem for a > bit, and before you drive yourself nuts or fail to get your product to > market. > > If you've done that, and choose a reasonably cohesive chunk, than in > most cases I wouldn't expect the JNI overhead to be an issue. If it > is, well, you ARE analyzing your trace data, right? You'll figure it > out, and what to do about it. > > Just never do "performance optimization" blindly. > > On Mar 17, 8:31 am, niko20 <nikolatesl...@yahoo.com> wrote: > > Personally through my experience this "JNI layer overhead" is so > > small that its effect is negligible. In my apps using NDK with JNI has > > alway increased my speed immensly regardless of any JNI method call > > overhead. It's just simply not true that the JNI will slow you down. > > -- > You received this message because you are subscribed to the Google > Groups "Android Developers" group. > To post to this group, send email to android-developers@googlegroups.com > To unsubscribe from this group, send email to > android-developers+unsubscr...@googlegroups.com<android-developers%2bunsubscr...@googlegroups.com> > For more options, visit this group at > http://groups.google.com/group/android-developers?hl=en > -- You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en