Merge "Add run all button to image processing test." into jb-mr1-dev
This commit is contained in:
@@ -124,6 +124,11 @@
|
|||||||
android:layout_marginRight="10sp"
|
android:layout_marginRight="10sp"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"/>
|
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>
|
</LinearLayout>
|
||||||
</ScrollView>
|
</ScrollView>
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|||||||
@@ -29,5 +29,6 @@
|
|||||||
<string name="gamma">Gamma</string>
|
<string name="gamma">Gamma</string>
|
||||||
<string name="saturation">Saturation</string>
|
<string name="saturation">Saturation</string>
|
||||||
<string name="benchmark">Benchmark</string>
|
<string name="benchmark">Benchmark</string>
|
||||||
|
<string name="benchmark_all">Benchmark All</string>
|
||||||
|
|
||||||
</resources>
|
</resources>
|
||||||
|
|||||||
@@ -39,9 +39,21 @@ import android.view.View;
|
|||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
import java.lang.Math;
|
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
|
public class ImageProcessingActivity extends Activity
|
||||||
implements SeekBar.OnSeekBarChangeListener {
|
implements SeekBar.OnSeekBarChangeListener {
|
||||||
private final String TAG = "Img";
|
private final String TAG = "Img";
|
||||||
|
private final String RESULT_FILE = "image_processing_result.csv";
|
||||||
|
|
||||||
Bitmap mBitmapIn;
|
Bitmap mBitmapIn;
|
||||||
Bitmap mBitmapOut;
|
Bitmap mBitmapOut;
|
||||||
String mTestNames[];
|
String mTestNames[];
|
||||||
@@ -325,6 +337,33 @@ public class ImageProcessingActivity extends Activity
|
|||||||
//long javaTime = javaFilter();
|
//long javaTime = javaFilter();
|
||||||
//mBenchmarkResult.setText("RS: " + t + " ms Java: " + javaTime + " ms");
|
//mBenchmarkResult.setText("RS: " + t + " ms Java: " + javaTime + " ms");
|
||||||
mBenchmarkResult.setText("Result: " + t + " 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
|
// For benchmark test
|
||||||
@@ -334,7 +373,7 @@ public class ImageProcessingActivity extends Activity
|
|||||||
mTest.setupBenchmark();
|
mTest.setupBenchmark();
|
||||||
long result = 0;
|
long result = 0;
|
||||||
|
|
||||||
Log.v(TAG, "Warming");
|
//Log.v(TAG, "Warming");
|
||||||
long t = java.lang.System.currentTimeMillis() + 2000;
|
long t = java.lang.System.currentTimeMillis() + 2000;
|
||||||
do {
|
do {
|
||||||
mTest.runTest();
|
mTest.runTest();
|
||||||
@@ -342,17 +381,18 @@ public class ImageProcessingActivity extends Activity
|
|||||||
} while (t > java.lang.System.currentTimeMillis());
|
} while (t > java.lang.System.currentTimeMillis());
|
||||||
|
|
||||||
|
|
||||||
Log.v(TAG, "Benchmarking");
|
//Log.v(TAG, "Benchmarking");
|
||||||
|
int ct = 0;
|
||||||
t = java.lang.System.currentTimeMillis();
|
t = java.lang.System.currentTimeMillis();
|
||||||
for (int i=0; i<10; i++) {
|
do {
|
||||||
mTest.runTest();
|
mTest.runTest();
|
||||||
}
|
mTest.finish();
|
||||||
mTest.finish();
|
ct++;
|
||||||
|
} while ((t+5000) > java.lang.System.currentTimeMillis());
|
||||||
t = java.lang.System.currentTimeMillis() - t;
|
t = java.lang.System.currentTimeMillis() - t;
|
||||||
float ft = (float)t;
|
float ft = (float)t;
|
||||||
ft /= 10;
|
ft /= ct;
|
||||||
|
|
||||||
Log.v(TAG, "getBenchmark: Renderscript frame time core ms " + ft);
|
|
||||||
mTest.exitBenchmark();
|
mTest.exitBenchmark();
|
||||||
mDoingBenchmark = false;
|
mDoingBenchmark = false;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user