Rendering statistics view (#3322)
Co-authored-by: Bart Louwers <bart@emeel.net>
This commit is contained in:
@@ -60,7 +60,7 @@ class RemoveUnusedImagesTest : AppCenter() {
|
||||
mapView.addOnCanRemoveUnusedStyleImageListener {
|
||||
callbackLatch.countDown()
|
||||
maplibreMap.moveCamera(CameraUpdateFactory.newLatLngZoom(LatLng(0.0, 120.0), 8.0))
|
||||
mapView.addOnDidFinishRenderingFrameListener{ _, _, _ ->
|
||||
mapView.addOnDidFinishRenderingFrameListener{ _, _ ->
|
||||
assertNotNull(maplibreMap.style!!.getImage("small"))
|
||||
assertNotNull(maplibreMap.style!!.getImage("large"))
|
||||
latch.countDown()
|
||||
@@ -89,7 +89,7 @@ class RemoveUnusedImagesTest : AppCenter() {
|
||||
maplibreMap.moveCamera(CameraUpdateFactory.newLatLngZoom(LatLng(0.0, 120.0), 8.0))
|
||||
|
||||
// Wait for the next frame and check that images were removed from the style.
|
||||
mapView.addOnDidFinishRenderingFrameListener { _, _, _ ->
|
||||
mapView.addOnDidFinishRenderingFrameListener { _, _ ->
|
||||
if (maplibreMap.style!!.getImage("small") == null && maplibreMap.style!!.getImage("large") == null) {
|
||||
latch.countDown()
|
||||
}
|
||||
|
||||
@@ -917,6 +917,19 @@ public class SymbolLayerTest extends BaseLayerTest {
|
||||
assertEquals(layer.getTextOptional().getValue(), propertyValue);
|
||||
}
|
||||
|
||||
@Test
|
||||
@UiThreadTest
|
||||
public void testSymbolScreenSpaceAsConstant() {
|
||||
Timber.i("symbol-screen-space");
|
||||
assertNotNull(layer);
|
||||
assertNull(layer.getSymbolScreenSpace().getValue());
|
||||
|
||||
// Set and Get
|
||||
Boolean propertyValue = true;
|
||||
layer.setProperties(symbolScreenSpace(propertyValue));
|
||||
assertEquals(layer.getSymbolScreenSpace().getValue(), propertyValue);
|
||||
}
|
||||
|
||||
@Test
|
||||
@UiThreadTest
|
||||
public void testIconOpacityTransition() {
|
||||
|
||||
@@ -27,6 +27,7 @@ import org.maplibre.android.log.Logger.INFO
|
||||
import org.maplibre.android.maps.MapLibreMap
|
||||
import org.maplibre.android.maps.MapLibreMap.CancelableCallback
|
||||
import org.maplibre.android.maps.MapView
|
||||
import org.maplibre.android.maps.RenderingStats
|
||||
import org.maplibre.android.testapp.R
|
||||
import org.maplibre.android.testapp.styles.TestStyles
|
||||
import org.maplibre.android.testapp.utils.BenchmarkInputData
|
||||
@@ -250,9 +251,9 @@ class BenchmarkActivity : AppCompatActivity() {
|
||||
|
||||
maplibreMap.setSwapBehaviorFlush(benchmarkRun.syncRendering)
|
||||
|
||||
val listener = MapView.OnDidFinishRenderingFrameListener { _: Boolean, frameEncodingTime: Double, frameRenderingTime: Double ->
|
||||
encodingTimeStore.add(frameEncodingTime * 1e3)
|
||||
renderingTimeStore.add(frameRenderingTime * 1e3)
|
||||
val listener = MapView.OnDidFinishRenderingFrameWithStatsListener { _: Boolean, stats: RenderingStats ->
|
||||
encodingTimeStore.add(stats.encodingTime * 1e3)
|
||||
renderingTimeStore.add(stats.renderingTime * 1e3)
|
||||
numFrames++;
|
||||
}
|
||||
mapView.addOnDidFinishRenderingFrameListener(listener)
|
||||
|
||||
@@ -19,10 +19,10 @@ import kotlin.time.TimeSource
|
||||
import kotlin.time.TimeSource.Monotonic
|
||||
import org.maplibre.android.log.Logger
|
||||
import org.maplibre.android.log.Logger.INFO
|
||||
import org.maplibre.android.maps.RenderingStats
|
||||
import org.maplibre.android.maps.MapLibreMap
|
||||
|
||||
|
||||
|
||||
// # --8<-- [start:ObserverActivity]
|
||||
/**
|
||||
* Test activity showcasing logging observer actions from the core
|
||||
@@ -34,7 +34,8 @@ class ObserverActivity : AppCompatActivity(),
|
||||
MapView.OnGlyphsLoadedListener,
|
||||
MapView.OnGlyphsRequestedListener,
|
||||
MapView.OnSpriteLoadedListener,
|
||||
MapView.OnSpriteRequestedListener {
|
||||
MapView.OnSpriteRequestedListener,
|
||||
MapView.OnDidFinishRenderingFrameWithStatsListener {
|
||||
// # --8<-- [end:ObserverActivity]
|
||||
|
||||
private lateinit var mapView: MapView
|
||||
@@ -57,12 +58,14 @@ class ObserverActivity : AppCompatActivity(),
|
||||
mapView.addOnGlyphsRequestedListener(this)
|
||||
mapView.addOnSpriteLoadedListener(this)
|
||||
mapView.addOnSpriteRequestedListener(this)
|
||||
mapView.addOnDidFinishRenderingFrameListener(this)
|
||||
// # --8<-- [end:addListeners]
|
||||
|
||||
mapView.getMapAsync {
|
||||
it.setStyle(
|
||||
Style.Builder().fromUri(TestStyles.DEMOTILES)
|
||||
)
|
||||
it.enableRenderingStatsView(true)
|
||||
}
|
||||
|
||||
// print and clear action journal
|
||||
@@ -131,6 +134,10 @@ class ObserverActivity : AppCompatActivity(),
|
||||
TileOperation.NullOp -> Logger.e(TAG, "An unknown tile operation was emitted for tile ${tile}")
|
||||
}
|
||||
}
|
||||
|
||||
override fun onDidFinishRenderingFrame(fully: Boolean, stats: RenderingStats) {
|
||||
|
||||
}
|
||||
// # --8<-- [end:mapEvents]
|
||||
|
||||
override fun onStart() {
|
||||
|
||||
@@ -6,6 +6,7 @@ import org.maplibre.android.log.Logger
|
||||
import org.maplibre.android.maps.MapView
|
||||
import org.maplibre.android.maps.MapLibreMap
|
||||
import org.maplibre.android.maps.OnMapReadyCallback
|
||||
import org.maplibre.android.maps.RenderingStats
|
||||
import org.maplibre.android.maps.Style
|
||||
import org.maplibre.android.testapp.databinding.ActivitySnapshotBinding
|
||||
import org.maplibre.android.testapp.styles.TestStyles
|
||||
|
||||
@@ -59,7 +59,7 @@ class MapChangeActivity : AppCompatActivity() {
|
||||
mapView.addOnDidFinishLoadingMapListener(OnDidFinishLoadingMapListener { Timber.v("OnDidFinishLoadingMap") })
|
||||
mapView.addOnDidFinishLoadingStyleListener(OnDidFinishLoadingStyleListener { Timber.v("OnDidFinishLoadingStyle") })
|
||||
mapView.addOnDidFinishRenderingFrameListener(
|
||||
OnDidFinishRenderingFrameListener { fully: Boolean, frameEncodingTime: Double, frameRenderingTime: Double ->
|
||||
OnDidFinishRenderingFrameListener { fully: Boolean, _: Double, _: Double ->
|
||||
Timber.v(
|
||||
"OnDidFinishRenderingFrame: fully: %s",
|
||||
fully
|
||||
|
||||
Reference in New Issue
Block a user