Thin app dialog and renderer adapter ownership
This commit is contained in:
43
src/legacy_app_shell_performance_test_services.cpp
Normal file
43
src/legacy_app_shell_performance_test_services.cpp
Normal file
@@ -0,0 +1,43 @@
|
||||
#include "pch.h"
|
||||
|
||||
#include "legacy_app_shell_performance_test_services.h"
|
||||
|
||||
#include "app.h"
|
||||
#include "canvas.h"
|
||||
|
||||
namespace pp::panopainter {
|
||||
|
||||
std::string run_legacy_about_menu_performance_test(
|
||||
App& app,
|
||||
Canvas& canvas,
|
||||
int performance_iterations)
|
||||
{
|
||||
std::string message;
|
||||
app.render_task([&]
|
||||
{
|
||||
const auto start = std::chrono::high_resolution_clock::now();
|
||||
canvas.stroke_start({ 0, 0, 0 }, 0.9f);
|
||||
for (int i = 0; i < performance_iterations; ++i)
|
||||
{
|
||||
canvas.stroke_update({ 100, 100, 0 }, 0.9f);
|
||||
canvas.stroke_update({ 200, 200, 0 }, 0.9f);
|
||||
canvas.stroke_update({ 200, 100, 0 }, 0.9f);
|
||||
canvas.stroke_update({ 100, 200, 0 }, 0.9f);
|
||||
canvas.stroke_update({ 300, 300, 0 }, 0.9f);
|
||||
canvas.stroke_update({ 200, 500, 0 }, 0.9f);
|
||||
canvas.stroke_update({ 500, 500, 0 }, 0.9f);
|
||||
canvas.stroke_update({ 400, 400, 0 }, 0.9f);
|
||||
canvas.stroke_update({ 0, 200, 0 }, 0.9f);
|
||||
canvas.stroke_update({ 200, 0, 0 }, 0.9f);
|
||||
canvas.stroke_draw();
|
||||
}
|
||||
canvas.stroke_end();
|
||||
const auto diff = std::chrono::high_resolution_clock::now() - start;
|
||||
const auto ms = std::chrono::duration_cast<std::chrono::milliseconds>(diff).count();
|
||||
LOG("%lld ms", static_cast<long long>(ms));
|
||||
message = "Time " + std::to_string(ms) + " ms";
|
||||
});
|
||||
return message;
|
||||
}
|
||||
|
||||
} // namespace pp::panopainter
|
||||
Reference in New Issue
Block a user