| 548 | { |
| 549 | public: |
| 550 | threaded_benchmark(const std::vector<scheduled_doc>& schedule, |
| 551 | const std::vector<doc_decoder_ptr>& docs, |
| 552 | int num_threads, |
| 553 | int max_concurrent_results, |
| 554 | pdflib::decode_config decode_config, |
| 555 | std::optional<pdflib::render_config> render_config): |
| 556 | schedule_(schedule), |
| 557 | docs_(docs), |
| 558 | num_threads_(num_threads), |
| 559 | max_concurrent_results_(max_concurrent_results), |
| 560 | decode_config_(decode_config), |
| 561 | render_config_(render_config) |
| 562 | { |
| 563 | if(render_config_.has_value()) |
| 564 | { |
| 565 | font_resolver_ = std::make_shared<pdflib::blend2d_font_resolver>(); |
| 566 | font_resolver_->warm(); |
| 567 | } |
| 568 | } |
| 569 | |
| 570 | benchmark_result run(const std::string& mode, |
| 571 | bool enable_timing, |