Exemple #1
0
        private void endZoneImpl(string name)
        {
            if (!SaveZoneUpdates)
            {
                endZoneNoSave();
                return;
            }
            PerformanceReport performanceReport = new PerformanceReport();

            if (!loadFromFileSystem(currentPerfReport, performanceReport))
            {
                Log.LogErrorFormatted(this, "EndZone, Failed to load performance report file: {0}", currentPerfReport);
                return;
            }
            PerformanceZoneReport performanceZoneReport = new PerformanceZoneReport();

            performanceZoneReport.Name      = name;
            performanceZoneReport.StartTime = currentZoneStart * 1000f;
            performanceZoneReport.Length    = (Time.realtimeSinceStartup - currentZoneStart) * 1000f;
            performanceZoneReport.Frame     = Time.frameCount;
            PerformanceZoneReport item = performanceZoneReport;

            updateMetrics();
            UpdateAssetMemoryUsage();
            endZoneNoSave();
            performanceReport.Zones.Add(item);
            saveToFileSystem(currentPerfReport, performanceReport.ToJson());
        }
        public void FromJson(JsonData json)
        {
            Platform        = (string)json["platform"];
            OperatingSystem = (string)json["operatingSystem"];
            Device          = (string)json["device"];
            BundleId        = (string)json["bundleId"];
            Version         = (string)json["version"];
            UnityVersion    = (string)json["unity"];
            Date            = (string)json["date"];
            StartTime       = (long)json["startTime"];
            EndTime         = (long)json["endTime"];
            JsonData jsonData = json["zones"];

            foreach (JsonData item in (IEnumerable)jsonData)
            {
                PerformanceZoneReport performanceZoneReport = new PerformanceZoneReport();
                performanceZoneReport.FromJson(item);
                Zones.Add(performanceZoneReport);
            }
        }