Files
panopainter/src/legacy_app_shell_performance_test_services.cpp

44 lines
1.4 KiB
C++

#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