ultralight-ux / Ultralight

Lightweight, high-performance HTML renderer for game and app developers.
https://ultralig.ht
4.69k stars 196 forks source link

Add support for graceful shutdown of Renderer #478

Closed adamjs closed 10 months ago

adamjs commented 1 year ago

Currently Ultralight can only be instantiated once per process lifetime without full cleanup due to the inherent design of WebKit (thousands of singletons and many long-lived threads in WebCore and JavaScriptCore).

We'd like to support the ability for the library to be created and destroyed multiple times in a single process (with full reclamation of heap memory) without hosting it in a separate child process (not possible on all platforms).

To accomplish this goal we are doing several things:

(This is already complete, adding issue for 1.4 milestone)

adamjs commented 10 months ago

This feature is complete in 1.4 (with caveat, Allocator API only available in Pro version).