| 319 | } |
| 320 | |
| 321 | void Benchmark_Dynamic_Create( |
| 322 | BenchState& state, |
| 323 | BenchParams& params, |
| 324 | BuildBenchParams& buildParams, |
| 325 | ISPCScene* ispc_scene, |
| 326 | RTCBuildQuality quality) |
| 327 | { |
| 328 | #ifdef USE_GOOGLE_BENCHMARK |
| 329 | if (params.legacy) { |
| 330 | Benchmark_Dynamic_Create_Legacy(ispc_scene, params, quality); |
| 331 | return; |
| 332 | } |
| 333 | |
| 334 | RTCScene scene = createScene(RTC_SCENE_FLAG_DYNAMIC, RTC_BUILD_QUALITY_LOW); |
| 335 | convertScene(scene, ispc_scene, quality); |
| 336 | const size_t primitives = getNumPrimitives(ispc_scene); |
| 337 | const size_t objects = getNumObjects(ispc_scene); |
| 338 | |
| 339 | // warm-up |
| 340 | for (int i = 0; i < params.minTimeOrIterations; ++i) { |
| 341 | deleteObjects(ispc_scene, scene); |
| 342 | convertScene(scene, ispc_scene, quality); |
| 343 | rtcCommitScene(scene); |
| 344 | } |
| 345 | |
| 346 | for (auto _ : *state.state) { |
| 347 | state.state->PauseTiming(); |
| 348 | |
| 349 | deleteObjects(ispc_scene, scene); |
| 350 | convertScene(scene, ispc_scene, quality); |
| 351 | |
| 352 | state.state->ResumeTiming(); |
| 353 | |
| 354 | rtcCommitScene(scene); |
| 355 | } |
| 356 | |
| 357 | addCounter(state, primitives, objects); |
| 358 | |
| 359 | rtcReleaseScene (scene); |
| 360 | #else |
| 361 | Benchmark_Dynamic_Create_Legacy(ispc_scene, params, quality); |
| 362 | #endif |
| 363 | } |
| 364 | |
| 365 | void Benchmark_Static_Create_Legacy(ISPCScene* scene_in, BenchParams& params, RTCBuildQuality quality, RTCBuildQuality qflags) |
| 366 | { |
no test coverage detected