Exemplo n.º 1
0
 private void CollectThread(ThreadData thread, FrameByCategory frameByCategory)
 {
     if (thread.m_AllSamples == null)
     {
         return;
     }
     foreach (var sample in thread.m_AllSamples)
     {
         if (0 <= sample.group && sample.group < categories.Length)
         {
             frameByCategory.AddData(categories[sample.group], sample.selfTimeUs * 0.001f);
         }
     }
 }
Exemplo n.º 2
0
 private void CollectThread(ThreadData thread, FrameByCategory frameByCategory)
 {
     if (thread.m_AllSamples == null)
     {
         return;
     }
     foreach (var sample in thread.m_AllSamples)
     {
         string category = null;
         if (categoryDictionary.TryGetValue(sample.group, out category))
         {
             frameByCategory.AddData(categoriesStr[sample.group], sample.selfTimeUs * 0.001f);
         }
     }
 }
Exemplo n.º 3
0
        public override void CollectData(ProfilerFrameData frameData)
        {
            // Categoryのセットアップ
            SetupCategories();
            FrameByCategory frameByCategory = new FrameByCategory();

            frameByCategory.frameIdx = frameData.frameIndex;
            // 特別枠で frameDataのCPU時間を追加
            // 同一フレーム内に同じスレッド名が複数できるので…
            Dictionary <string, int> threadNameCounter = new Dictionary <string, int>(8);

            foreach (var thread in frameData.m_ThreadData)
            {
                if (thread.IsMainThread)
                {
                    CollectThread(thread, frameByCategory);
                }
            }
            this.frames.Add(frameByCategory);
        }