示例#1
0
    private IEnumerator DoParse()
    {
        int   msgCount    = 0;
        int   msgCountAcc = 0;
        float timeAcc     = 0;

        while (true)
        {
            msgCount = ReceiveQueue.GetCount();
            if (msgCount > 0)
            {
                for (int loop = 0; loop < msgCount; loop++)
                {
                    msgHandler.HandleMsg(ReceiveQueue.SyncDequeMsg());
                }
            }

            timeAcc     += Time.deltaTime;
            msgCountAcc += msgCount;
            if (timeAcc > 1)
            {
                timeAcc     = 0;
                msgCountAcc = 0;
            }

            yield return(null);
        }
    }
示例#2
0
    private IEnumerator DoParse()
    {
        int msgCount;

        while (true)
        {
            msgCount = ReceiveQueue.GetCount();
            if (msgCount > 0)
            {
                for (int loop = 0; loop < msgCount; loop++)
                {
                    ParseMsg(ReceiveQueue.DequeMsg());
                }
            }

            yield return(null);
        }
    }
示例#3
0
    private IEnumerator PerformanceChecker()
    {
        float timeAcc  = 0;
        int   fpsCount = 0;
        int   msgAcc   = 0;

        while (true)
        {
            timeAcc += Time.deltaTime;
            msgAcc  += ReceiveQueue.GetCount();
            fpsCount++;
            if (timeAcc >= 1)
            {
                fpsText.text = fpsCount.ToString() + " / " + msgAcc;
                msgAcc       = 0;
                fpsCount     = 0;
                timeAcc      = 0;
            }

            yield return(null);
        }
    }