a render3d program's window is opened by its renderer, not by the runtime before main
rt_init opened every windowed program's window before main, and render3d's gvk_open then only retitled it. win_open makes the window when there is none (cocoa.ll and win32.ll alike), so for a program that has gvk_open the runtime now leaves it (window_later(), an intrinsic: windowed and render3d present): a process that never reaches the renderer - Maroon Lake's launcher watcher, which only spawns the game and waits - never makes a window, an NSApplication or AppKit's heap. Audited every window native reachable before the renderer opens (settings, telemetry, rescue, the watcher reach App.* and Input.*): on macOS each that loads W_win / W_app / W_view / W_mtl / W_glctx checks it for null; win_close, win_running, win_text, win_held, win_cursor_mode, win_gl_scale and the pad and touch reads load none. On Windows each that loads W_hwnd / W_hdc checks it; the rest load none. Measured, windowed, R3D_DEV=1 R3D_PLAYTEST=2, both killed after: - the game straight to play: the window, the Vulkan swapchain (1920x1080) and the valley's models come up, alive at 30 s; - the launcher (R3D_GAME=launcher): the watcher 11 MB -> 3.7 MB, its launcher window alive at 10 s. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
parent
30a641d249
commit
84d754a4e9
4 changed files with 43894 additions and 43785 deletions
|
|
@ -85,7 +85,7 @@ function rt_init(rt_core_st: mut RtCoreState, rt_image_st: mut RtImageState, rt_
|
|||
rt_tt_init(rt_truetype_st)
|
||||
rt_ui_init(rt_ui_st)
|
||||
rt_clear(rt_core_st, rt_rng_st, 0)
|
||||
if is_windowed() {
|
||||
if is_windowed() and not window_later() {
|
||||
win_open(rt_fbw, rt_fbh, 3, game_title())
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue