summaryrefslogtreecommitdiff
path: root/tests/RenderScriptTests/ImageProcessing
diff options
context:
space:
mode:
author Jason Sams <jsams@google.com> 2012-09-21 17:42:13 -0700
committer Jason Sams <jsams@google.com> 2012-09-21 17:42:13 -0700
commitb94d69a2267d2660ade79ff5e56ecb00f307c553 (patch)
treef72a1dc6288532aad8e24af4170c0ef9146d209b /tests/RenderScriptTests/ImageProcessing
parent36fa5a42ba1e09d1aff2087ad352e6d63f36f652 (diff)
Add run all button to image processing test.
Change-Id: I11b4f803151ee7dc1e4b86f402196c1b856bd950
Diffstat (limited to 'tests/RenderScriptTests/ImageProcessing')
-rw-r--r--tests/RenderScriptTests/ImageProcessing/res/layout/main.xml5
-rw-r--r--tests/RenderScriptTests/ImageProcessing/res/values/strings.xml1
-rw-r--r--tests/RenderScriptTests/ImageProcessing/src/com/android/rs/image/ImageProcessingActivity.java54
3 files changed, 53 insertions, 7 deletions
diff --git a/tests/RenderScriptTests/ImageProcessing/res/layout/main.xml b/tests/RenderScriptTests/ImageProcessing/res/layout/main.xml
index bd56d62d29d2..4715d6ef04b5 100644
--- a/tests/RenderScriptTests/ImageProcessing/res/layout/main.xml
+++ b/tests/RenderScriptTests/ImageProcessing/res/layout/main.xml
@@ -124,6 +124,11 @@
android:layout_marginRight="10sp"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
+ <Button
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="@string/benchmark_all"
+ android:onClick="benchmark_all"/>
</LinearLayout>
</ScrollView>
</LinearLayout>
diff --git a/tests/RenderScriptTests/ImageProcessing/res/values/strings.xml b/tests/RenderScriptTests/ImageProcessing/res/values/strings.xml
index cc5cc4de9782..a7dd16509200 100644
--- a/tests/RenderScriptTests/ImageProcessing/res/values/strings.xml
+++ b/tests/RenderScriptTests/ImageProcessing/res/values/strings.xml
@@ -29,5 +29,6 @@
<string name="gamma">Gamma</string>
<string name="saturation">Saturation</string>
<string name="benchmark">Benchmark</string>
+ <string name="benchmark_all">Benchmark All</string>
</resources>
diff --git a/tests/RenderScriptTests/ImageProcessing/src/com/android/rs/image/ImageProcessingActivity.java b/tests/RenderScriptTests/ImageProcessing/src/com/android/rs/image/ImageProcessingActivity.java
index 7b84355be904..c29029c74245 100644
--- a/tests/RenderScriptTests/ImageProcessing/src/com/android/rs/image/ImageProcessingActivity.java
+++ b/tests/RenderScriptTests/ImageProcessing/src/com/android/rs/image/ImageProcessingActivity.java
@@ -39,9 +39,21 @@ import android.view.View;
import android.util.Log;
import java.lang.Math;
+import android.os.Environment;
+import android.app.Instrumentation;
+import android.content.Context;
+import android.content.Intent;
+import android.net.Uri;
+import java.io.BufferedWriter;
+import java.io.File;
+import java.io.FileWriter;
+import java.io.IOException;
+
public class ImageProcessingActivity extends Activity
implements SeekBar.OnSeekBarChangeListener {
private final String TAG = "Img";
+ private final String RESULT_FILE = "image_processing_result.csv";
+
Bitmap mBitmapIn;
Bitmap mBitmapOut;
String mTestNames[];
@@ -320,6 +332,33 @@ public class ImageProcessingActivity extends Activity
//long javaTime = javaFilter();
//mBenchmarkResult.setText("RS: " + t + " ms Java: " + javaTime + " ms");
mBenchmarkResult.setText("Result: " + t + " ms");
+ Log.v(TAG, "getBenchmark: Renderscript frame time core ms " + t);
+ }
+
+ public void benchmark_all(View v) {
+ // write result into a file
+ File externalStorage = Environment.getExternalStorageDirectory();
+ if (!externalStorage.canWrite()) {
+ Log.v(TAG, "sdcard is not writable");
+ return;
+ }
+ File resultFile = new File(externalStorage, RESULT_FILE);
+ resultFile.setWritable(true, false);
+ try {
+ BufferedWriter rsWriter = new BufferedWriter(new FileWriter(resultFile));
+ Log.v(TAG, "Saved results in: " + resultFile.getAbsolutePath());
+ for (int i = 0; i < mTestNames.length; i++ ) {
+ changeTest(i);
+ float t = getBenchmark();
+ String s = new String("" + mTestNames[i] + ", " + t);
+ rsWriter.write(s + "\n");
+ Log.v(TAG, "Test " + s + "ms\n");
+ }
+ rsWriter.close();
+ } catch (IOException e) {
+ Log.v(TAG, "Unable to write result file " + e.getMessage());
+ }
+ changeTest(0);
}
// For benchmark test
@@ -329,7 +368,7 @@ public class ImageProcessingActivity extends Activity
mTest.setupBenchmark();
long result = 0;
- Log.v(TAG, "Warming");
+ //Log.v(TAG, "Warming");
long t = java.lang.System.currentTimeMillis() + 2000;
do {
mTest.runTest();
@@ -337,17 +376,18 @@ public class ImageProcessingActivity extends Activity
} while (t > java.lang.System.currentTimeMillis());
- Log.v(TAG, "Benchmarking");
+ //Log.v(TAG, "Benchmarking");
+ int ct = 0;
t = java.lang.System.currentTimeMillis();
- for (int i=0; i<10; i++) {
+ do {
mTest.runTest();
- }
- mTest.finish();
+ mTest.finish();
+ ct++;
+ } while ((t+5000) > java.lang.System.currentTimeMillis());
t = java.lang.System.currentTimeMillis() - t;
float ft = (float)t;
- ft /= 10;
+ ft /= ct;
- Log.v(TAG, "getBenchmark: Renderscript frame time core ms " + ft);
mTest.exitBenchmark();
mDoingBenchmark = false;