From 773ea7341cc85514c62c96e7ef47e728c7fd296c Mon Sep 17 00:00:00 2001 From: oxmox Date: Sun, 19 Feb 2023 01:45:51 +0100 Subject: [PATCH] intermittent commit: do not spawn doomsim instances to test rendering Without spawning doomsims the SDL_UpdateTexture()+SDL_RenderCopy() way does scale well: with 1024 non-spawned dooms I'm at 19.4 fps, 51.5 ms/frame. A single core is maxed out all the time and it's nicely jumping between cores. --- src/doompanning.cc | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/doompanning.cc b/src/doompanning.cc index 694a059..bcc84b3 100644 --- a/src/doompanning.cc +++ b/src/doompanning.cc @@ -62,12 +62,14 @@ void spawn_doom(ControllerContext &ctx) // TODO: Close stdin and stdout? Leave them open for now to see the logging // output. + #if 0 if (auto err = posix_spawn(&ds.id, "doomsim", nullptr, nullptr, const_cast(argv), nullptr)) { log_error("Could not spawn doom: %s", strerror(err)); return; } + #endif ds.texture = SDL_CreateTexture(ctx.renderer, SDL_PIXELFORMAT_ARGB8888, SDL_TEXTUREACCESS_STREAMING, DoomScreenWidth, DoomScreenHeight); @@ -177,7 +179,7 @@ void final_cleanup(ControllerContext &ctx) if (!ctx.dooms.empty()) { log_warn("final cleanup: terminating all %zu remaining dooms", ctx.dooms.size()); - signal_all_dooms(ctx, SIGTERM); + //signal_all_dooms(ctx, SIGTERM); } }