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); } } }
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); } } }
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); }