[QUOTE=DanLamb;326576]Android is generally very competitive with iOS on various OpenGL/CPU/GPU benchmarks even with the Dalvik VM system.[/QUOTE}
Lulz. Obviously not real-world test scenarios then. But keep clinging to those benchmarks all you want - they were specifically intended for the non-developer type to gush over.
Honestly son, I don't care who you trust - I am the guy in the trenches who has to make this stuff work. And Android has no hope whatsoever (EVER) of ever matching the same performance in RetroArch that I get on other platforms like -Quote:
Apple's hardware often scores higher, but that is more of a testament to Apple's engineering excellence and better hardware. Benchmarks aren't perfect, but I trust them way more than I trust you.
* Xbox 360
* Xbox 1
I would like to put you on notice and remind you that you are talking to a guy who has ported to all those platforms and more - you are not dealing with some purported 'developer' that 'just' made some kind of low-key game, got it working on Android, got 6fps and then patted himself on the back and told himself 'OK, this is going to run just swell over two iterative generations or so. So honestly, I think I know a thing or two about how these platforms stack up - far better in fact than your 'pie in the sky' benchmarks would ever indicate to you.
Honestly, your 'pie in the sky' benchmarks traverse you down one optimal render path and that is it. They don't tell you jack all about CPU performance, driver issues, shitty blitting (another Android trait), shitty garbage collector stalls, and on and on.
Thanks Captain Obvious for pointing out stuff to me that I already know. However, it seems you don't even read the stuff that you are selectively quoting and Googling - notice the caveat there that says 'THIS RELIES ON HARDWARE SUPPORT'.Quote:
Audio latency does seem to have been a legitimate issue. Android 4.2 claims to address this depending on hardware support from manufacturers. From the official Android dev site:
Also, docs on OpenSL ES for pre Android 4.2:
It doesn't sound like Android's audio latency problems had anything to do with Davlik, virtual machines, or Java.
And guess how 'swell' that hardware support is up to now? Exactly one Google Nexus device and as for the rest - shit all - that is what.
And guess what? Even the '40ms' figure they are now holding up as an 'ideal target' is pretty crappy compared to the kind of audio latency you can get with CoreAudio on iOS. So even on that one special phone where the 'fast SL mixer path' goes into effect - it is still shit compared to iOS.
Like hell. Dianne Hackborn quite honestly doesn't give a shit about performance, or anything that gets in the way of her precious 'framework' and the way it ought to be 'properly used' (note - some ideological claptrap and 'good design' principles according to a couple of demented Java ideologues).Quote:
Android is taking performance and latency very seriously.
At this point you pretty much sound like an end user. 'Project Butter 60fps locked interface' - here is the deal son - most of the time your precious Android devices don't even have screens capable of a 60Hz refreshrate - as in the case of the Galaxy SIII - as in the case of the Galaxy Note 2 - as in the case of the JXD S7300 - and we can go on and on. Now, surely, those first two devices I mentioned there represents a pretty big slice of the overall market, does it not?Quote:
Look at the Project Butter 60 FPS locked interface improvements in 4.1. You can also see tons of more detailed performance analysis and improvements on the Android dev site.
Also - the fact that those devices 'lie' about their refreshrates means that you can not even rely on the SDK-supplied 'GetRefreshRate' function - in 75% of all cases it reports a bogus number (because '60Hz' looks better on some techsheet than '58Hz' or '50Hz' now does it?
Now it gets even worse when you want to heuristically detect the refresh rate and time your game/emulator correctly according to it - good luck doing that with a garbage-collecting OS.
I would also point out that even console games use some higher level programming language like Lua in some sandbox type runtime to process game logic and it doesn't seem to have disastrous performance consequences.
Thanks for that Captain Obvious.Quote:
Ouya as a whole... The Tegra 3 is just lower performance hardware than what you get with a PS3/360 console.
However, you might just want to get yourself clued up a bit more - it isn't just that it can't compete with a PS3/360 -
IT CAN'T COMPETE WITH AN XBOX 1/WII.
How do I know? I develop for the aforementioned boxes, and I can also test the same software across all these devices.
And guess what?
Yoshi's Island running with SNES9x Next runs at fullspeed on a Nintendo Wii?
An 1.5/1.6GHz ARMv9 dual core Cortex A9 Android phone however? 56-55fps and lovely audio crackling - and the GC stalls add some more lag ontop of that.
Now you go and rationalize that all you want to yourself while an iPad 2 plays that same game just fine. Seriously, stop drinking the Java/Google koolaid and admit that the entire platform sucks. I have the facts, I have the ultimate benchmark (RetroArch) that proves that this platform sucks because I can run the very same software with the very same frontend codebase on all these platforms - if a platform doesn't deliver on relatively tight syncing, it is reflected in its runtime performance. And guess where Android stands in all of that? Right at the bottom of the foodchain - a Cortex A8 Android tablet performs even worse than a Nintendo Gamecube, thank you very much.
Now please - next time you try to 'correct' somebody, make sure you aren't talking to somebody who already went there, done that, and has gotten the T-shirt.
Don't come at me with this 'it will be spread across a second core and therefore you won't notice the stalls' - because I have experienced the exact opposite of that in tons of runtime apps.
You are making up bad excuses for a terrible operating system (Android) and a multibillion dollar company (Google) that doesn't know what the hell they are doing, nor do they care - as long as they can sell lots of advertising revenues and 'Facebook' your life in their own little way, it doesn't really matter to them that Android is a terrible operating system with terrible runtime performance (which is exactly what it is today).
Uh, I guess a little respect is out of the question in a pissing match... My 2 nickles.
Programming on a limited number of platforms, I still have dealt with hardware limitations. I learned how to program in a scalable way decades before most companies gave two turtle shits about it. Now that people are going cross platform they're finally learning.... only took them like a couple of decades to get to that point. So what the point?
Work with what you have and make it 733t on whatever it's running. I was forced to work on Windows shitty crap for years, I was spoiled before that. Back in the days before 3d we had some fun I tell ya we had fun!
Oh and I hope the ouya gets better hardware those specs are lower than my phone at this point.
I realize that benchmarks can be biased and manipulated and you need to take them with a grain of salt. However, benchmarks still have more weight than emotional rants. Particularly, when it's multiple benchmarks written by different groups that seem to be roughly neutral and are administered by seemingly neutral sites.
Sometimes Java/C#/Scala are too high level and sometimes C/C++ is too low level. In other cases, I prefer other languages entirely.
I have done a *lot* of high performance, mostly server-side work in C++, Java, and C#. Of course, Android's Dalvik is very different from desktop Java, but I really like Java as a developer and I feel it does what I need it to do for many projects.
It is extremely common for me to hear people bash Java who are completely uninformed. A lot of people had some bad experience with a Java browser applet, or read bad things about Java in the news, and just make completely uninformed negative comments about Java, even in cases where Java works really well.
C/C++ is way behind Java/C# in language design and Java/C# are also way behind Scala in language design as well.
I'm not convinced that Java or something Java-like is completely inappropriate on a client device like Android. I do like that Android supports C/C++/Renderscript development as well.
Java is a toy programming language and anybody who sticks to it and claims it can compete with C/C++ either doesn't have what it takes to program in C/C++ or they are just an inferior programmer. Period.Quote:
Compared how easier java is compared to objective-c (and how popular), it's a good tradeoff.
As a programmer you are a bad joke if you 'prefer' your toy programming languages and the 'toy' managed environments they run in. Sorry but facts are facts.
Even Epic says the same now in relation to Unreal Engine 4 - 'we moved off those toy programming languages' - it's all C++11 again with no scripting language in sight. So if you are one of these 'game devs' nowadays whose only claim to fame is that they can 'buy' a license to a pre-existing engine and make something happen in there - what is Epic's recommendation? 'Learn C++11!'. Sorry Java/C# guys but you backed the wrong horse and educated people are waking up and smelling the coffee - and it stinks- time to return to the tried and true programming language where you can get something actually done - note -that doesn't include C#/Java/Go or any other 'toy' language.
Funny, because those guys at Epic until recently still have only released games on Apple hardware.Quote:
As those guys at Epic put it, we'll take a 10% performance hit if we gain 10% or more in productivity.
So was Windows 9x. But it was still dogshit all the same - even Microsoft silently acknowledged that when they were working on Windows NT concurrently. That is what needs to happen to Android - an NT equivalent needs to be built (and badly) and this entire thing should be thrown in the trash as soon as possible before the 'ecosystem' becomes even shittier.Quote:
Performance isn't everything and Android is the number one operating system.
Tell that to the Ouya devs who are being pummeled by garbage collector stalls right now (Google it).Quote:
People aren't complaining of the performance and most games run both on Apple and Android just fine.
This is the first time on Earth that a 'games console' is running in a Java VM with a garbage collector - there is a reason for that.
This is antithetical to what a games console has been since the days of the Atari 2600. It has always been about being able to target a fixed-spec console and having an SDK that allows you to go very low-level (to the point where on PS3/360 you can bypass any higher level graphics API altogether and just go straight for manipulating command buffers and passing that to the GPU). It has always been about being able to program at a lower-level so that you can get optimum performance out of it.
None of that is possible with an Android-based console. There is no GPU blitting support in the NDK - audio latency is shit - everything is a Java service - there is no way to do direct input - the GPU drivers are a cottage of bad hacks to work around Android's even worse hacks - you can't even run 'true native code' but you always need to shoehorn your native code into a dynamic library and to load that inside a 'wrapper Java app - it is simply a total non-event in the performance stakes.
Oh and note - the OS PREVENTS you from trying to do any of these things that you absolutely need for best possible performance - try to ask Dianne Hackborn about how to do input/audio/video without going through any of her crap Java framework stuff and see the response you're going to get.
You are seeing exactly that in most games which is why most iOS games take about a year and a half to ever reach Android (if ever) - and in the few cases they do (because Android is still a barren landscape for games compared to iOS and developers simply do not find the thing attractive at all), it is always an inferior port. It's a combination of the GPU drivers being shit and full of hacks to accomodate Android (which is also shit and full of hacks) + a shity garbage collector ruining your framerate + lots of devices with sub-60Hz screens. All of this translates into a horrible platform for games. There is nothing worse - period - for games to have as an OS than Android. A Nintendo Wii will comfortably 'beat' a Note 2 in the CPU performance stakes thanks to this absolutely disastrous OS - you simply can't get a stable and moderately high FPS out of this thing without being jammed in 'garbage collector spin alley'.Quote:
If Android really were that bad we'd see choppy performance of a game on Android and buttersmooth on Apple.
And the reason they don't beat up on Android is because it's Google and because they would sell their mother for a nickel as long as the pimp is Google. That is the amount of Scientology-like cultism that surrounds this company, and sadly the pathetic nerds will follow them right off the cliff. That much seems a given.
So good to see that when the Android koolaid cultists can't respond adequately to the facts, they resort to ad-hominems. You already lost the debate Son.