Thread: iPhone 15 / Apple Watch 9 Event

Just out of interest, do you think the weirdness extends to benchmarks of raster performance? GFXBench, 3DMark etc
Right now gfxbench and 3DMark seem sensible enough. I don’t always understand every result, like as we discussed why on higher resolutions the iPhone falls behind the Snapdragon. My guess is that you’re right that it’s RAM rather than the GPU per se, but I’d have to look into it. The trouble is the GB results are so different from those that I have trouble reconciling them - add on what I see comparing results from different GB6 compute APIs run on different manufacturers and I get even more uneasy. It may reflect something real but it’s hard to say what or why without really delving into the analysis.

Like the problem with GB 5 scaling on Apple Silicon wouldn’t have been known if it weren’t for Ryan and Andrei at Anandtech looking into it. In some ways it was a hardware issue, M1s especially spin up slowly, but that had a way outsized impact on GB5 tests. Why are relative GB6 scores so low on the 740 compared to other tests? Unclear.
 
As far as I can tell OpenCL is basically a legacy API everywhere. I don’t believe there is any further work being done for it by the Khronos group beyond maintenance. 3.0 was released 3 years ago, 3.0.14 is 5 months ago, the .0.14 meaning minor versions/bug fixes only. It’s not clear to me what state the drivers are in for any of the device makers, some may be paying more attention to it than others.
I was very unamused to discover that my university is still teaching the GPU programming course partly in OpenCL. It didn't have great adoption when Apple was still pushing it, now it's so dead I find it laughable that it's still part of any curriculum.

Yes. Cudas absence from GB 6 is strange. I haven’t seen any explanation for it. Doubly weird given its presence on GB 5.
If the goal is to have a multiplatform benchmark, CUDA doesn't add much IMHO. It would be useful to make comparisons between NVIDIA cards but I don't think that's Geekbench's goal.
 
@leman I asked one of the geekerwan crew why there is a discrepancy between their A14/15 power figures and Andrei’s.

He said Andrei measured motherboard power and he measured in core power consumption.

I asked him how he knew and he said he asked Andrei. I didn’t think Andrei was on twitter, and I don’t know how he would be reached but there we are.

I also didn’t know it was possible to measure in core.
 
Right now gfxbench and 3DMark seem sensible enough. I don’t always understand every result, like as we discussed why on higher resolutions the iPhone falls behind the Snapdragon. My guess is that you’re right that it’s RAM rather than the GPU per se, but I’d have to look into it.
Anyway @Jimmyjames it appears that the RAM on the iPhone 15 pro is 8GB whereas the minimum RAM on the Androids that I am seeing equipped with the Adreno 740 is 12GB or higher. I haven’t seen RAM speed for the iPhone 15 Pros yet so can’t compare. Another caveat is that I don’t know the details of the tests - ie how much RAM is needed vs recommended for various tests and why. But based on disparate RAM sizes alone it is certainly plausible that’s a big reason why the “Extreme” and higher resolution graphics benchmarks increasingly favor the Android device over the iPhone whereas lower resolutions favor the iPhone. Of course even if true, as we discussed if what you care about is phone gaming, that the bottleneck is RAM vs GPU architecture doesn’t really matter. The phones have what they have. Further, a counter argument is that it may not be the whole story - after all M2s start at 8GB of RAM and have much higher performance. The counter to that counter is they have so much more raw performance the bottleneck is there but not severe enough. A test would be comparing an M2 with 8GB with an M2 on 16 GB and seeing if Aztec 4K results get better on the latter. Also I am struggling to think of an architectural reason beyond RAM why a mobile GPU would perform relatively better to a peer on higher resolutions, but worse in lower resolutions. There may be some but … i can’t think of one right now.

@leman @Andropov thoughts?
 
@leman I asked one of the geekerwan crew why there is a discrepancy between their A14/15 power figures and Andrei’s.

He said Andrei measured motherboard power and he measured in core power consumption.

I asked him how he knew and he said he asked Andrei. I didn’t think Andrei was on twitter, and I don’t know how he would be reached but there we are.

I also didn’t know it was possible to measure in core.
Andrei’s locked his Twitter account
 
I’m not convinced why it matters. There is no performance of a gpu without an api or software. If that software performs poorly then that’s part of the equation. Apples “thing” is software and hardware together.
It only matters so we're able to distinguish a great GPU with a bad API that it's dragging its performance and a bad GPU with a modern API that makes better use of the hardware. For the final user, it doesn't matter which is which, but for academical discussions about the hardware, it's important to be able to make such distinctions.
 
It only matters so we're able to distinguish a great GPU with a bad API that it's dragging its performance and a bad GPU with a modern API that makes better use of the hardware. For the final user, it doesn't matter which is which, but for academical discussions about the hardware, it's important to be able to make such distinctions.
Yes. I suppose my thinking was if all available solutions yield poor results, as they seem to on Qualcomm, it doesn’t matter because we can’t discover it!
 
I’ve been looking for benchmarks and as we said, it’s tough to find some (3DMark) and easier to find others.

I read this review earlier : https://www.tomsguide.com/features/iphone-15-pro-benchmarks

As I thought, there is a healthy lead in cpu scores, both single and multi core (76% and 41%) which I find hard to believe 8gen3 could make up for in one iteration (supposedly it gets 7400 in GB 6, a near 50% increase!). Back to the subject of gpus, here we see it’s much closer
View attachment 26027

We see the A17 beats the 8gen2 etc Android phones in the 1440p “Wildlife Unlimited” but is 1 or 2 fps behind then 8gen2 Android devices in the 4k “Wildlife Extreme” test.

If we compare some other scores, we see a similar pattern. GFXBench
In Aztec ruins offscreen, the A17 is ahead of the Adreno 730 by a large margin (60fps to 43fps).
Manhattan 1440p off-screen A17 = 109fps Adreno 730 = 89fps
Manhattan 1080p off-screen: A17 = 201fps, Adreno 730 = 140fps
T-Rex 1080p off-screen: A17 = 473fps, Adreno 730 = 381fps

BUT...

4K Aztec: A17 = 26fps, Adreno 730 = 20fps is what’s listed on the site, but I’ve seen higher than that. Close if not higher than the A17 iirc.

So what is it about 4K tests that causes the A17 to struggle vs the 730, but win at 1080/1440p? Design the gpu, the lower amount of ram?
Our friend memory bandwidth.
LPDRR5 on A17 Pro vs LPDDR5X on Snap Gen 2.

Memory bandwidth is huge in 4K gaming. Hopefully M3 series uses LPDDR5X. It's a huge improvement over the older standard.

6400 mega transfers (LPDRR5)vs 8300 mega(LPDDR5X) transfers I think.
 
Our friend memory bandwidth.
LPDRR5 on A17 Pro vs LPDDR5X on Snap Gen 2.

Memory bandwidth is huge in 4K gaming. Hopefully M3 series uses LPDDR5X. It's a huge improvement over the older standard.

6400 mega transfers (LPDRR5)vs 8300 mega(LPDDR5X) transfers I think.
Ah okay I couldn’t find that for the iPhone, so they do have a raw bandwidth difference and a capacity difference (which often also translates into total bandwidth differences). Those two combined would be pretty big for 4K and even 1440p. Yeah so it’s less about the GPU architecture than it is about using a smaller bandwidth RAM and less of it.
 
Also I am struggling to think of an architectural reason beyond RAM why a mobile GPU would perform relatively better to a peer on higher resolutions. There may be some but … i can’t think of one right now.
Agreed on the memory bandwidth. Probably more important than memory capacity, as long as the capacity is enough to fit the dataset (textures, geometry...). Higher resolution means higher bandwidth requirements, not only for things like the GBuffer (which obviously gets bigger as the window resolution increases) but also for model textures themselves.
Tile memory also plays a role here, and can be the cause of weird non-linear effects. If you try to fit too many things into a single tile (too much geometry, too many textures...) you can have what's called a partial render: the GPU will need to render part of the geometry, flush the tile memory, and get the rest of the geometry for that same tile in. Essentially doubling the render time for that tile.

Then if what you're rendering has a fixed number of triangles, at higher resolutions the GPU is going to spend a bigger fraction of the render time in the fragment shader (the functions that are executed per-pixel) and less time on the vertex shader (the functions that are executed per-vertex), since the number of vertices is fixed. That means, for example, that it's going to be less important how fast the fixed hardware to order triangles in the GPU by z-value is, and more important how many and how fast the ALUs used for lighting are (for example). Now on actual games if you're playing at a lower resolutions the models used in the scene may also have a lower number of triangles, further complicating making any definite conclusion.

I'm sure there are a thousand more examples of things that don't scale equally with resolution. Sometimes capturing frames of the same scene at a high and low(ish) resolution shows wildly different results. So if you were able to plot the frame time of a scene for different resolutions, you would find that said curve is not linear, and even worse, that the shape of the curve is very different for different scenes or different GPUs.
 
I have seen a couple of people suggest that due the new shader core on the A17 gpu, benchmarks and games might need to be adapted to take advantage. Any ideas if that makes sense or is it bs?
 
Back
Top