am 574a1296: Merge "Update tilebenchmark to work with current drawing infrastructure"

* commit '574a12968a24a0c24c96908568d8707a8d713d1c':
  Update tilebenchmark to work with current drawing infrastructure
This commit is contained in:
Chris Craik
2011-12-13 08:54:45 -08:00
committed by Android Git Automerger
4 changed files with 62 additions and 57 deletions

View File

@@ -4538,7 +4538,7 @@ public class WebView extends AbsoluteLayout
boolean isPictureAfterFirstLayout, boolean registerPageSwapCallback) {
if (mNativeClass == 0)
return;
nativeSetBaseLayer(layer, invalRegion, showVisualIndicator,
nativeSetBaseLayer(mNativeClass, layer, invalRegion, showVisualIndicator,
isPictureAfterFirstLayout, registerPageSwapCallback);
if (mHTML5VideoViewProxy != null) {
mHTML5VideoViewProxy.setBaseLayer(layer);
@@ -9493,7 +9493,12 @@ public class WebView extends AbsoluteLayout
/** @hide call pageSwapCallback upon next page swap */
protected void registerPageSwapCallback() {
nativeRegisterPageSwapCallback();
nativeRegisterPageSwapCallback(mNativeClass);
}
/** @hide discard all textures from tiles */
protected void discardAllTextures() {
nativeDiscardAllTextures();
}
/**
@@ -9643,7 +9648,8 @@ public class WebView extends AbsoluteLayout
private native void nativeSetFindIsEmpty();
private native void nativeSetFindIsUp(boolean isUp);
private native void nativeSetHeightCanMeasure(boolean measure);
private native void nativeSetBaseLayer(int layer, Region invalRegion,
private native void nativeSetBaseLayer(int nativeInstance,
int layer, Region invalRegion,
boolean showVisualIndicator, boolean isPictureAfterFirstLayout,
boolean registerPageSwapCallback);
private native int nativeGetBaseLayer();
@@ -9657,7 +9663,8 @@ public class WebView extends AbsoluteLayout
private native void nativeStopGL();
private native Rect nativeSubtractLayers(Rect content);
private native int nativeTextGeneration();
private native void nativeRegisterPageSwapCallback();
private native void nativeRegisterPageSwapCallback(int nativeInstance);
private native void nativeDiscardAllTextures();
private native void nativeTileProfilingStart();
private native float nativeTileProfilingStop();
private native void nativeTileProfilingClear();

View File

@@ -18,46 +18,52 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
>
<LinearLayout
android:id="@+id/top"
android:layout_width="match_parent"
<HorizontalScrollView
android:id="@+id/horizontalScrollView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
>
<Spinner
android:id="@+id/movement"
android:layout_width="wrap_content"
<LinearLayout
android:id="@+id/top"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:prompt="@string/movement_method"
/>
<Spinner
android:id="@+id/velocity"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:prompt="@string/desired_scroll_velocity"
/>
<ToggleButton
android:id="@+id/capture"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textOn="@string/capture_stop"
android:textOff="@string/capture_start"
/>
<EditText
android:id="@+id/url"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:inputType="textUri"
android:imeOptions="actionGo"
android:layout_weight="1"
/>
<Button
android:id="@+id/inspect"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/inspect_log"
/>
</LinearLayout>
>
<Spinner
android:id="@+id/movement"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:prompt="@string/movement_method"
/>
<Spinner
android:id="@+id/velocity"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:prompt="@string/desired_scroll_velocity"
/>
<ToggleButton
android:id="@+id/capture"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textOn="@string/capture_stop"
android:textOff="@string/capture_start"
/>
<EditText
android:id="@+id/url"
android:layout_width="400dp"
android:layout_height="wrap_content"
android:inputType="textUri"
android:imeOptions="actionGo|flagNoExtractUi"
android:layout_weight="1"
/>
<Button
android:id="@+id/inspect"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/inspect_log"
/>
</LinearLayout>
</HorizontalScrollView>
<com.test.tilebenchmark.ProfiledWebView
android:id="@+id/web"
android:layout_width="match_parent"

View File

@@ -276,6 +276,7 @@ public class ProfileActivity extends Activity {
settings.setEnableSmoothTransition(true);
settings.setBuiltInZoomControls(true);
settings.setLoadWithOverviewMode(true);
settings.setProperty("use_minimal_memory", "false"); // prefetch tiles, as browser does
mWeb.setWebViewClient(new LoggingWebViewClient());
// URL text entry

View File

@@ -33,8 +33,7 @@ public class ProfiledWebView extends WebView {
private ProfileCallback mCallback;
private long mContentInvalMillis;
private boolean mHadToBeForced = false;
private int mTestCount = 0;
private static final int LOAD_STALL_MILLIS = 5000; // nr of millis after load,
private static final int LOAD_STALL_MILLIS = 2000; // nr of millis after load,
// before test is forced
public ProfiledWebView(Context context) {
@@ -76,13 +75,6 @@ public class ProfiledWebView extends WebView {
mIsScrolling = autoScrolling;
mCallback = callback;
mIsTesting = false;
mContentInvalMillis = System.currentTimeMillis();
registerPageSwapCallback();
contentInvalidateAll();
invalidate();
mTestCount++;
final int testCount = mTestCount;
if (autoScrolling) {
// after a while, force it to start even if the pages haven't swapped
@@ -93,13 +85,12 @@ public class ProfiledWebView extends WebView {
@Override
public void onFinish() {
if (testCount == mTestCount && !mIsTesting) {
mHadToBeForced = true;
Log.d("ProfiledWebView", "num " + testCount
+ " forcing a page swap with a scroll...");
scrollBy(0, 1);
invalidate(); // ensure a redraw so that auto-scrolling can occur
}
// invalidate all content, and kick off redraw
registerPageSwapCallback();
discardAllTextures();
invalidate();
mContentInvalMillis = System.currentTimeMillis();
}
}.start();
}