X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=examples%2Fperf-scroll%2Fperf-scroll.cpp;h=3bfdda5b069e509d3eb3e91b960162aa36b63183;hb=7be9f30032c9a694c9f18bd03533822bd2dc2075;hp=f77d01f0e1f8870a52e29f083f7e3bc6c418efea;hpb=ff961cccdcbf1c30b0f53b0da027df855cde2b63;p=platform%2Fcore%2Fuifw%2Fdali-demo.git diff --git a/examples/perf-scroll/perf-scroll.cpp b/examples/perf-scroll/perf-scroll.cpp index f77d01f..3bfdda5 100644 --- a/examples/perf-scroll/perf-scroll.cpp +++ b/examples/perf-scroll/perf-scroll.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015 Samsung Electronics Co., Ltd. + * Copyright (c) 2016 Samsung Electronics Co., Ltd. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -15,13 +15,8 @@ * */ +#include #include -#include -#include -#include -#include -#include -#include #include "shared/utility.h" @@ -186,29 +181,6 @@ const char* FRAGMENT_SHADER_TEXTURE = DALI_COMPOSE_SHADER( }\n ); - -Geometry& QuadMesh() -{ - static Geometry mesh; - if( !mesh ) - { - PropertyBuffer vertexBuffer; - Property::Map vertexFormat; - vertexFormat["aPosition"] = Property::VECTOR2; - vertexFormat["aTexCoord"] = Property::VECTOR2; - - //Create a vertex buffer for vertex positions and texture coordinates - vertexBuffer = PropertyBuffer::New( vertexFormat ); - vertexBuffer.SetData( gQuadWithTexture, 4u ); - - //Create the geometry - mesh = Geometry::New(); - mesh.AddVertexBuffer( vertexBuffer ); - mesh.SetGeometryType( Geometry::TRIANGLE_STRIP ); - } - return mesh; -} - bool gUseMesh(false); bool gNinePatch(false); unsigned int gRowsPerPage(15); @@ -216,35 +188,18 @@ unsigned int gColumnsPerPage(15); unsigned int gPageCount(10); float gDuration(10.0f); -Renderer CreateRenderer( unsigned int index ) +Renderer CreateRenderer( unsigned int index, Geometry geometry, Shader shader ) { - - int numImages = !gNinePatch ? NUM_IMAGES : NUM_NINEPATCH_IMAGES; - static Renderer* renderers = new Renderer[numImages]; - if( !renderers[index] ) - { - //Create the renderer - Shader shader = Shader::New( VERTEX_SHADER_TEXTURE, FRAGMENT_SHADER_TEXTURE ); - - const char* imagePath = !gNinePatch ? IMAGE_PATH[index] : NINEPATCH_IMAGE_PATH[index]; - Texture texture = DemoHelper::LoadTexture( imagePath ); - - TextureSet textureSet = TextureSet::New(); - textureSet.SetTexture( 0u, texture ); - renderers[index] = Renderer::New( QuadMesh(), shader ); - renderers[index].SetTextures( textureSet ); - renderers[index].SetProperty( Renderer::Property::BLEND_MODE, BlendMode::OFF ); - } - return renderers[index]; + Renderer renderer = Renderer::New( geometry, shader ); + const char* imagePath = !gNinePatch ? IMAGE_PATH[index] : NINEPATCH_IMAGE_PATH[index]; + Texture texture = DemoHelper::LoadTexture( imagePath ); + TextureSet textureSet = TextureSet::New(); + textureSet.SetTexture( 0u, texture ); + renderer.SetTextures( textureSet ); + renderer.SetProperty( Renderer::Property::BLEND_MODE, BlendMode::OFF ); + return renderer; } -Actor CreateMeshActor( unsigned int index) -{ - Renderer renderer = CreateRenderer( index ); - Actor meshActor = Actor::New(); - meshActor.AddRenderer( renderer ); - return meshActor; -} } // Test application to compare performance between ImageActor and ImageView @@ -333,18 +288,27 @@ public: void CreateMeshActors() { - Stage stage = Stage::GetCurrent(); + unsigned int numImages = !gNinePatch ? NUM_IMAGES : NUM_NINEPATCH_IMAGES; - unsigned int actorCount( mRowsPerPage * mColumnsPerPage * mPageCount ); - mActor.resize( actorCount ); + //Create all the renderers + std::vector renderers( numImages ); + Shader shader = Shader::New( VERTEX_SHADER_TEXTURE, FRAGMENT_SHADER_TEXTURE ); + Geometry geometry = DemoHelper::CreateTexturedQuad(); + for( unsigned int i(0); i( mRowsPerPage ) * mColumnsPerPage ) ) { duration = durationPerActor; delay = delayBetweenActors * count;