nprocs_tests = args.num_procs performance_all = {} title_list = [] collect_title_list = True for nprocs in nprocs_tests: default_settings["num_processes"] = nprocs performance = [] for resolution in resolutions: default_settings["width"] = default_settings["height"] = resolution resolution_label = f"{resolution} x {resolution}" per_resolution_perf = {} for key, value in benchmark_items.items(): per_group_perf = {} for g in dr.ABTestGroup: demo_runner = dr.DemoRunner(default_settings, dr.DemoRunnerType.AB_TEST) run_label = f"(nprocs={nprocs}, resolution={resolution_label}, sensors={key}, group={g.name})" print(f"{f' Starting run {run_label} ':-^100}") settings = default_settings.copy() settings.update(value) # set new value before the test group run if g == dr.ABTestGroup.TEST: settings[args.feature] = test_val per_group_perf[g] = demo_runner.benchmark(settings, g) result = f" FPS {run_label}: {per_group_perf[g]['fps']:.1f} " print(f"{result:-^100}") if collect_title_list: title_list.append(key) per_resolution_perf[key] = per_group_perf collect_title_list = False performance.append(per_resolution_perf)
parser.add_argument("--seed", type=int, default=1) args = parser.parse_args() default_settings = dr.default_sim_settings.copy() default_settings["silent"] = True default_settings["seed"] = args.seed default_settings["save_png"] = False default_settings["print_semantic_scene"] = False default_settings["print_semantic_mask_stats"] = False default_settings["compute_shortest_path"] = False default_settings["compute_action_shortest_path"] = False default_settings["max_frames"] = args.max_frames demo_runner = dr.DemoRunner(default_settings, dr.DemoRunnerType.BENCHMARK) benchmark_items = { "rgb": {}, "rgbd": {"depth_sensor": True}, "depth_only": {"color_sensor": False, "depth_sensor": True}, "semantic_only": {"color_sensor": False, "semantic_sensor": True}, "rgbd_semantic": {"depth_sensor": True, "semantic_sensor": True}, } # resolutions = [128] # (debug) resolutions = [128, 256, 512] performance = [] for resolution in resolutions: default_settings["width"] = default_settings["height"] = resolution
"compute_action_shortest_path"] = args.compute_action_shortest_path settings["seed"] = args.seed settings["silent"] = args.silent settings["enable_physics"] = args.enable_physics settings["physics_config_file"] = args.physics_config_file settings["frustum_culling"] = not args.disable_frustum_culling settings["recompute_navmesh"] = args.recompute_navmesh return settings settings = make_settings() perfs = [] for i in range(1): demo_runner = dr.DemoRunner(settings, dr.DemoRunnerType.EXAMPLE) perf = demo_runner.example() perfs.append(perf) print(" ========================= Performance ======================== ") print( " %d x %d, total time %0.2f s," % (settings["width"], settings["height"], perf["total_time"]), "frame time %0.3f ms (%0.1f FPS)" % (perf["frame_time"] * 1000.0, perf["fps"]), ) print(" ============================================================== ") # assert perf["fps"] > args.test_fps_regression, ( # "FPS is below regression threshold: %0.1f < %0.1f" # % (perf["fps"], args.test_fps_regression)