CCProfiling

#ifndef __SUPPORT_CCPROFILING_H__

#define __SUPPORT_CCPROFILING_H__


#include "ccConfig.h"

#include "cocoa/CCObject.h"

#include "platform/platform.h"

#include "cocoa/CCDictionary.h"

#include <string>


NS_CC_BEGIN


/**

 * @addtogroup global

 * @{

 */


class CCProfilingTimer;


/** CCProfiler

 cocos2d builtin profiler.


 To use it, enable set the CC_ENABLE_PROFILERS=1 in the ccConfig.h file

 */


class CC_DLL CCProfiler : public CCObject

{

public:

    ~CCProfiler(void);

    /** display the timers */

    void displayTimers(void);

    bool init(void);


public:

    static CCProfiler* sharedProfiler(void);

    /** Creates and adds a new timer */

    CCProfilingTimer* createAndAddTimerWithName(const char* timerName);

    /** releases a timer */

    void releaseTimer(const char* timerName);

    /** releases all timers */

    void releaseAllTimers();


    CCDictionary* m_pActiveTimers;

};


class CCProfilingTimer : public CCObject

{

public:

    bool initWithName(const char* timerName);

    ~CCProfilingTimer(void);

    const char* description(void);

    inline struct cc_timeval * getStartTime(void) { return &m_sStartTime; };

    inline void setAverageTime(double value) { m_dAverageTime = value; }

    inline double getAverageTime(void) { return m_dAverageTime; }

    /** resets the timer properties */

    void reset();


    std::string m_NameStr;

    struct cc_timeval m_sStartTime;

    double m_dAverageTime;

    double            minTime;

    double            maxTime;

    double            totalTime;

    unsigned int    numberOfCalls;

};


extern void CCProfilingBeginTimingBlock(const char *timerName);

extern void CCProfilingEndTimingBlock(const char *timerName);

extern void CCProfilingResetTimingBlock(const char *timerName);


/*

 * cocos2d profiling categories

 * used to enable / disable profilers with granularity

 */


extern bool kCCProfilerCategorySprite;

extern bool kCCProfilerCategoryBatchSprite;

extern bool kCCProfilerCategoryParticles;


// end of global group

/// @}


NS_CC_END


#endif // __SUPPORT_CCPROFILING_H__


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值