63 lines
1.8 KiB
C++
63 lines
1.8 KiB
C++
/* -----------------------------------------------------------------------------
|
|
GSFramework
|
|
Copyright 2001-2013 Emmanuel Julien. All Rights Reserved.
|
|
----------------------------------------------------------------------------- */
|
|
|
|
|
|
#ifndef __NSCENEPROFILER__
|
|
#define __NSCENEPROFILER__
|
|
|
|
|
|
#include "timing/profiler.h"
|
|
|
|
|
|
namespace GS {
|
|
namespace S3D { class Scene; }
|
|
|
|
/*!
|
|
@short Scene profiler.
|
|
@author Emmanuel Julien (ejulien@owloh.com)
|
|
*/
|
|
struct SceneProfiler : public Profiler
|
|
{
|
|
S3D::Scene &scene;
|
|
|
|
public:
|
|
|
|
System *update, *process_queues, *update_triggers, *update_item_transformation, *update_skin, *scene_on_update, *items_on_update, *physic_step, *synchronize_physics, *ui_update;
|
|
System *push_to_render, *push_active_list, *push_simple_culling, *push_octree_culling;
|
|
|
|
virtual void ResetProfiles();
|
|
|
|
SceneProfiler(S3D::Scene &s) : scene(s)
|
|
{
|
|
// Update
|
|
update = DeclareSystem("Update");
|
|
|
|
process_queues = DeclareSystem("Process queues", update);
|
|
update_triggers = DeclareSystem("Update triggers", update);
|
|
update_item_transformation = DeclareSystem("Update item transformation", update);
|
|
update_skin = DeclareSystem("Update item skin", update);
|
|
|
|
scene_on_update = DeclareSystem("Script scene OnUpdate()", update);
|
|
items_on_update = DeclareSystem("Script items OnUpdate()", update);
|
|
|
|
physic_step = DeclareSystem("Physic step", update);
|
|
synchronize_physics = DeclareSystem("Physics synchronization", update);
|
|
|
|
ui_update = DeclareSystem("Update UI", update);
|
|
|
|
// Push to render
|
|
push_to_render = DeclareSystem("Push to render");
|
|
|
|
push_active_list = DeclareSystem("Push active list", push_to_render);
|
|
push_simple_culling = DeclareSystem("Push simple renderable", push_to_render);
|
|
push_octree_culling = DeclareSystem("Push octree renderable", push_to_render);
|
|
}
|
|
};
|
|
|
|
} // GS
|
|
|
|
|
|
#endif // __NSCENEPROFILER__
|