10-16-2024 11:18 AM - edited 10-16-2024 01:50 PM
I have tried everything (Win10, Win11, Bazzite), I can't figure out why the ROG Ally Z1E performs 15-20% slower on battery vs plugged in. I get that modern laptops with high end graphics don't perform best on battery, but not a 30W APU in a handheld.
Current test scenario:
BIOS:v341 (rollback to v337 didn't make a difference)
OS: Win10 Home
TDP: 25W (Manual Mode, SPL/SPPT/FPPT = 25)
Energysave mode: off
power mode: best performance
powerplan: performance (gets selected by Manual Mode via Command Center)
powerplan settings: processor power managment (min:100% and max:100% for "on battery" and "plugged in")
CS2 Benchmark Map
Resolution:1280x720
Details: low preset, Fidelity FX Super Resolution Disabled
fps_max 0
When plugged in, I get ~152FPS avg consistently. When I remove the charger (91% battery), with the same settings, I get ~127FPS avg. The clockspeed for the CPU and GPU seem to be the same, the utilization seems to be the same, the APU WATT hovers between 24-25W (BATT discharge ~35W), so everything appears to be identical, but obviously it isn't.
With CPU-Z, I checked the single and multi core performance.
Plugged in (25W): 678/5490
On Battery (25W): 676/5480
So far so good. To further investigate this issue, I downloaded AIDA64 Extreme and checked the RAM Read/Write/Copy/Latency:
Plugged in (25W): 49913 MB/s (Read), 86337 MB/s (Write), 65538 MB/s (Copy), 125.8ns (Latency)
On Battery (25W): 37320 MB/s (Read), 49391 MB/s (Write), 43320 MB/s (Copy), 140.4ns (Latency)
Well, thats odd. Then I checked the RAM frequency with HWINFO64, at idle it drops down to 400MHz(battery) vs 500MHz(plugged in), but it gets clocked up to 800MHz under load in AIDA64 benchmarks.
Maybe it needs a bit longer to reach 800MHz, thus the different performance numbers.
Then I downloaded MSI Afterburner to check the RAM frequency while running the CS2 benchmark while on battery and plugged in. It stays at 800MHz, even at a 200ms update interval - so this might not be the issue here.
I will investigate this further, but I am back at square one. Can anyone explain to me why the Ally performs worse on battery?
10-16-2024 12:21 PM
i think it's to preserve battery cycle life.
makes perfect sense to me.
cannot expect the same performance on battery over being plugged in.
my laptop has a 4080 in it if it went full speed the total power use would destroy the battery in hours.
10-16-2024 12:26 PM
The TDP is the same, thus it makes very little sense - especially since the total powerdraw is around 35W for the whole device, not 300W.
10-16-2024 12:28 PM - edited 10-16-2024 12:33 PM
Yeah but can the battery handle that indefinitely without long term effects?
I personally use a 100W portable battery pack when I need performance on the go
10-16-2024 12:39 PM - edited 10-16-2024 12:40 PM
I think I have to state another test to get my point across at 25W TDP (~35W total powerdraw):
Furmark 1:1280x720 GPU Stress Test
CPU-Z: Bench CPU (consistent multicore load)
Plugged in: 46 FPS / 3355 Points
On Battery: 46 FPS / 3350 Points
You can let it run indefinetly, no change in performance. Hence, this is not a battery preserving action.
10-16-2024 08:44 PM - edited 10-16-2024 09:11 PM
cpu Z and furmark are not exactly memory users.
you mentioned this tho:
Plugged in (25W): 49913 MB/s (Read), 86337 MB/s (Write), 65538 MB/s (Copy), 125.8ns (Latency)
On Battery (25W): 37320 MB/s (Read), 49391 MB/s (Write), 43320 MB/s (Copy), 140.4ns (Latency)
The internal hardware would also play a role in battery preservation.
Because software can be slow to react.
10-17-2024 06:16 AM - edited 10-17-2024 06:19 AM
Yes, but we don't know why the ROG Ally behaves this way, sadly I don't have any other device with a Ryzen 7840 and LPDDR5 at hand. I tested AIDA64 memory benchmarks while CS2 Benchmark was running when plugged in and on battery, the results were:
Plugged in (25W): 49066 MB/s (Read), 86196 MB/s (Write), 63647 MB/s (Copy), 172.4ns (Latency)
On Battery (25W): 37157 MB/s (Read), 48189 MB/s (Write), 42219 MB/s (Copy), 185.2 ns (Latency)
So, except the memory latency (probably due to the active CS2 Benchmark), we are seeing the same results.
Since the memory speed is at 800MHz while plugged in and on battery when running the CS2 Benchmark, the reason for the lack of performance must be lying elsewhere.
Hence, I logged all the available stats with HWINFO from the start until the end of the CS2 benchmark (1:50min) and calculated the mean value for over 200 parameters. In the table below are the most interesting parameters.
Parameter | Plugged In (65W USB-C Charger) | Battery |
CPU (Tctl/Tdie) [°C] | 65.69 | 67.38 |
CPU Package Power [W] | 25.00 | 24.99 |
Memory Clock [MHz] | 798.60 | 798.60 |
Memory Controller Clock (UCLK) [MHz] | 798.60 | 798.60 |
Infinity Fabric Clock (FCLK) [MHz] | 924.58 | 1197.80 |
DRAM Read Bandwidth [GB/s] | 18.10 | 15.37 |
GPU Clock [MHz] | 1347.97 | 1428.40 |
GPU Memory Clock [MHz] | 800.00 | 800.00 |
GPU SoC Clock [MHz] | 569.53 | 833.79 |
GPU Utilization [%] | 69.42 | 69.67 |
Charge Level [%] | 78.15 | 76.45 |
Framerate (Presented) [FPS] | 157.04 | 132.44 |
Certainly, I would have expected that the "FCLK" is lower on battery, but its the opposite. But the average "DRAM Read Bandwidth" is 15% lower on battery than plugged in, which is exactly the FPS difference.