Skip to content

Commit df3d35e

Browse files
author
Jonah Williams
authored
[devicelan] opt android devices into fixed performance mode. (#154016)
See also: https://developer.android.com/games/optimize/adpf/fixed-performance-mode Should keep benchmarks more stable so A/B comparisons are appropriate without accounting for CPU/GPU throttling.
1 parent 7f77e19 commit df3d35e

File tree

2 files changed

+11
-0
lines changed

2 files changed

+11
-0
lines changed

dev/devicelab/lib/framework/devices.dart

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -128,6 +128,9 @@ abstract class Device {
128128
/// A unique device identifier.
129129
String get deviceId;
130130

131+
/// Switch the device into fixed/regular performance mode.
132+
Future<void> toggleFixedPerformanceMode(bool enable) async {}
133+
131134
/// Whether the device is awake.
132135
Future<bool> isAwake();
133136

@@ -589,6 +592,11 @@ class AndroidDevice extends Device {
589592
String deviceInfo = '';
590593
int apiLevel = 0;
591594

595+
@override
596+
Future<void> toggleFixedPerformanceMode(bool enable) async {
597+
await shellExec('cmd', <String>['power', 'set-fixed-performance-mode-enabled', if (enable) 'true' else 'false']);
598+
}
599+
592600
/// Whether the device is awake.
593601
@override
594602
Future<bool> isAwake() async {

dev/devicelab/lib/tasks/perf_tests.dart

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1311,6 +1311,8 @@ class PerfTest {
13111311
late Device selectedDevice;
13121312
selectedDevice = device ?? await devices.workingDevice;
13131313
await selectedDevice.unlock();
1314+
await selectedDevice.toggleFixedPerformanceMode(true);
1315+
13141316
final String deviceId = selectedDevice.deviceId;
13151317
final String? localEngine = localEngineFromEnv;
13161318
final String? localEngineHost = localEngineHostFromEnv;
@@ -1415,6 +1417,7 @@ class PerfTest {
14151417
} finally {
14161418
await resetManifest();
14171419
await resetPlist();
1420+
await selectedDevice.toggleFixedPerformanceMode(false);
14181421
}
14191422

14201423
final Map<String, dynamic> data = json.decode(

0 commit comments

Comments
 (0)