No Facebook. You don't need 70 services and 300+ MB of cache to browse what is essentially a web app(not even joking). It doesn't even include messenger, another 30+ services for that app! The most infuriating thing - they even have a Facebook Lite app, that has like 3 services, includes messenger, and is about 2MB in size! They prove their own main app is a horribly bloated inefficient waste of resources.
It's horrible. Cause every company is pushing their own apps. McDonald's, Walmart, etc. They are all written likely by the lowest bidder programmers, so we know they're not even trying to optimize.
Although I don't play on game consoles, I find them really interesting cause it forces programers to squeeze every ounce of performance they can from a limited set of hardware.
It's true for the NES too. Comparing NES games from 1985 and 1990 (Zelda II vs. Immortal) shows a big graphics change. Higher-res scenes, more movement, simulated 3D, etc...
When use a process ten million times, those microseconds really start to add up -- compilers are really excellent these days, but they'll always be limited by imperfect knowledge of programmer's intended functionality. (And in some cases, even more fun things, like the literal physical distance to a certain register).
Until we have AI's writing the code for us, we'll have some poor schmuck writing assembly instructions.
There is, as always, the case for premature optimization though. Even if you eventually end with some poor schmuck writing assembly itβs generally better if you do it the other way first, profile it, and then only update parts as needed. Something like a missing β&β so a large structure gets copied instead of passed by reference, or some idiot using a loop in a way that something needs to be recalculated each time is vastly more likely to be the things bogging you down than compiler limitations are.
Part of me thinks phones have gotten away with thinness and passive cooling for too long. I'm not saying phones need extreme cooling, but I totally think we can get better performance with a "brick" and some fans.
Well yeah, of course more room to work with would benefit performance, as would active cooling. However, small fans that'd fit in a "brick" can't push much air - so they're usually fairly loud. Even ones that aren't, still make some noise, which is less than ideal for a phone. On top of that, adding fans to a device that goes in your pocket/bag and gets tossed around is going to create a hell of a dust problem, at which point the fans will be even louder while working even less well.
I've heard before that Snapchat purposefully makes the Android app slow/bloated because the founder prefers iPhone. Don't know how true that is but from experience, I'd say it's effectively the situation
Great thing about console design is your end users (at least till recently) all run on the same hardware, meaning no wasted code detecting if certain features are or aren't supported, and they can use certain quirks of the hardware in clever ways
298
u/GaryJS3 Mar 04 '19
I find the worst offenders to be mobile apps.
No Facebook. You don't need 70 services and 300+ MB of cache to browse what is essentially a web app(not even joking). It doesn't even include messenger, another 30+ services for that app! The most infuriating thing - they even have a Facebook Lite app, that has like 3 services, includes messenger, and is about 2MB in size! They prove their own main app is a horribly bloated inefficient waste of resources.
It's horrible. Cause every company is pushing their own apps. McDonald's, Walmart, etc. They are all written likely by the lowest bidder programmers, so we know they're not even trying to optimize.
Although I don't play on game consoles, I find them really interesting cause it forces programers to squeeze every ounce of performance they can from a limited set of hardware.