44 lines
1.4 KiB
C++
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
|