The sources of the stutters I can come up with are:
1. all available LITTLE cores are busy and at least a task wake up in the meantime. 2. the CPU scheduler doesn't schedule properly (from the user experience perspective). 3. music player doesn't advice itself as latency-sensitive app.
It's easy for modern smartphones to have ready_to_run_tasks (daemons) > available_cpus, and a CPU scheduler which ignores latency-sensitive apps can easily preempt the music player.
To sum up, user experience is probably the utmost thing that modern phones care, how can things like "stutters during music playing" happen? Can't we just defer those daemon tasks?
(maybe this is why my collegue got a MP3 player instead)
There is no stuttering problem on audio playback on any of the smart phones you've listed. And there hasn't been any stuttering problem since the initial launch of the first generation iPhone.
The last time I remember any stuttering on any phone I've owned was maybe the Motorola Rokr twenty years ago.
You must have some sort of accessory problem.
There are also inconsistent stutters throughout songs.
iPhone 13 and 2nd gen AirPods Pro, if it's relevant.
I've filed a feedback but Apple feedback is a black hole these days.
If you mean, "can't stream smoothly" - check your connection and your service choice (eg Paramount+ always seems to have problems for me ... regardless of the connection or device)
But "play music smoothly" has been a core feature (with nary a problem) since the first iPhone
Every one I have had runs all the audio I have ever wanted to run with no issue - 4G, 6S+, 8+, 11, SE, 14, and 15
My dad's and mother-in-law's Pixel 7 also have no issues
I jest, but at the same time I don't. Like everyone else on this thread, I'm like "stutters? What is it, 1999 and I'm using a Pentium II to play my 28kbps MP3?" Ergo, if you're not using a hard-wired headphone connection, my only thought in this modern age is radio interference.
https://android-developers.googleblog.com/2021/03/an-update-...
I haven't heard about issues with latency in iOS audio, but the iPhone 8 is certainly not "modern". Are you using bluetooth headphones? Which apps are you using to play the audio?
Smooth audio is actually quite hard to achieve.
Usually it works like this - audio driver has a buffer that the device is ought to fill with waveform data in a given amount of time. Then that buffer is shifted to the DAC and goes to your speaker. If during that process something happens like an interrupt that takes takes enough time that the process filling the buffer can't finish on time you get clicks and stutters.
Filling a buffer sounds simple, but it may involve DSP processing like filtering, mixing multiple channels etc. that also costs processing power.
Some operating systems "solved" this by setting buffer high enough that such interruptions would minimise stutters but that is at the expense of the latency (the delay between filling the buffer and then buffer being transferred to the speaker through DAC).
Audio in Android is very much still broken (though I am not on latest Android).
Don't know about iPhone.
The problem is unlikely going to be solved as if you make sure audio can run in real time and be stable, you encounter other problems that make phone use problematic.
Everything has trade offs.
That's why I used to prefer having separate device for playing music, optimised for this task.
- faulty 3.5mm jacks on certain headphones causing intermittent cutout
- buffering pauses for remote libraries/streaming (eg. YouTube or Spotify)
- Bluetooth/codec issues, where the proper codec isn't negotiated and "headset" mode stays on
That being said, I don't stream FLAC and my library is <10,000 songs. Maybe you've got a big library?
Audible app over Bluetooth to my car has issues between chapters/tracks. But it’s probably fair to blame Audible’s software for not handling this edge case very well (since I don’t encounter the same when switching tracks in other apps in the same setup).
Maybe your issues are something similar, and specific to a particular case you have rather than a general issue with modern smartphones.
On the watch I suspect it’s some kind of Bluetooth/encoding bottleneck because the processor seems totally capable of smooth audio playback, but I’m not certain it can mediate the connection, encoding, and transferring flawlessly.
So my assumption has always been that the problem is Bluetooth. Perhaps RF interference or something.
Besides Bluetooth radio interference, as other commenters noted, stutter happen because of kilometres deep bug ridden code base.
Good question.
It's nice that streaming works at all, but a lot of things have to be working underneath. I wonder how a DJ would set things up, even if that's not my use case. What MP3 player did your colleague get?
Even when switching wifi networks, driving on cell coverage, Bluetooth or hardwired headphones etc...
Walk into Apple store and try opening an Email app on top end phone, or try swipe-scrolling a PDF to see how smooth it is.
1- Click an unread (demo) email that conains images. Watch as text size loads way too small, the emails load, then text bounces to correct size after the images are fully loaded. A very unsmooth experience, all told, that could be characterized as a stutter.
2- Search the iPhone for "pdf" to find a pre-loaded demo PDF document. Open it. Now swip-down (flick) to let it scroll "smoothly". You get 120 Hz smoothness, but then it "hiccups" now and then, even in a pretty small file given the device resources. So, stuttery.
Yeah, not perfect. But, really good overall, considering it replaces a desktop in the hand for many tasks.
Still, it would be amazing for all the little things were ironed out.
Some day I think it will happen. But as others comment, there's a lot that has to occur behind each detail.
There are other obvious bugs that have also been out for months or years in other software from other companies, some used quite a bit and some less so.
I think it gives a window into how bottlenecked some orgs are, by one factor or another.