application.GetScene().Add(actor);
- application.SendNotification();
- application.Render();
+ Property::Map map = actor.GetProperty< Property::Map >( DummyControl::Property::TEST_VISUAL );
+ Property::Value* value = map.Find( DevelImageVisual::Property::TOTAL_FRAME_NUMBER );
+ int totalFrameNumber = value->Get< int >();
Property::Map attributes;
DevelControl::DoAction(actor, DummyControl::Property::TEST_VISUAL, Dali::Toolkit::DevelAnimatedVectorImageVisual::Action::PLAY, attributes);
+ // Make delay to drop frames
+ Test::VectorAnimationRenderer::DelayRendering(170); // longer than 16.6 * 10frames
+
application.SendNotification();
application.Render();
- // Trigger count is 1 - render the first frame
- DALI_TEST_EQUALS(Test::WaitForEventThreadTrigger(1), true, TEST_LOCATION);
-
- // Make delay to drop frames
- Test::VectorAnimationRenderer::DelayRendering(170); // longer than 16.6 * 10frames
+ // Trigger count is 2 - render the first frame & calculating frame drops
+ DALI_TEST_EQUALS(Test::WaitForEventThreadTrigger(2), true, TEST_LOCATION);
// Check dropped frame
- DALI_TEST_EQUALS(Test::WaitForEventThreadTrigger(1), true, TEST_LOCATION);
-
uint32_t frames = Test::VectorAnimationRenderer::GetDroppedFrames();
- DALI_TEST_CHECK(frames >= 9);
+ DALI_TEST_CHECK(frames > 0);
+ DALI_TEST_CHECK(frames <= static_cast<uint32_t>(totalFrameNumber));
END_TEST;
}