Annotation of nono/lib/perfcounter.cpp, revision 1.1.1.1

1.1       root        1: //
                      2: // nono
                      3: // Copyright (C) 2020 nono project
                      4: // Licensed under nono-license.txt
                      5: //
                      6: 
                      7: #include "perfcounter.h"
                      8: 
                      9: //
                     10: // パフォーマンス測定
                     11: //
                     12: 
                     13: // コンストラクタ
                     14: PerfCounter::PerfCounter(int xxx_)
                     15: {
                     16:        xxx = xxx_;
                     17: }
                     18: 
                     19: // 結果の集計と表示
                     20: void
                     21: PerfCounter::PrintResult()
                     22: {
                     23:        total_elapsed += duration_cast<microseconds>(end - start).count();
                     24: 
                     25:        if (++total_count >= xxx) {
                     26:                int fps = 1000 * 1000 / (total_elapsed / total_count);
                     27:                total_elapsed = 0;
                     28:                total_count = 0;
                     29:                printf("%d fps", fps);
                     30: 
                     31:                fpsarray.push_back(fps);
                     32:                if (fpsarray.size() > 4) {
                     33:                        fpsarray.pop_front();
                     34:                }
                     35:                if (fpsarray.size() > 2) {
                     36:                        int minv = 1e9;
                     37:                        int sum = 0;
                     38:                        for (auto v : fpsarray) {
                     39:                                if (v < minv)
                     40:                                        minv = v;
                     41:                                sum += v;
                     42:                        }
                     43:                        // 最悪値1つを除いた移動平均
                     44:                        sum -= minv;
                     45:                        int avg = sum / (fpsarray.size() - 1);
                     46:                        printf(" (avg %d)", avg);
                     47:                }
                     48:                printf("\n");
                     49:        }
                     50: }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.