quakeforge/tools/qfvis/source
Bill Currie 72a1fef714 [qfvis] Use hunk to manage winding memory
It turns out cmem is not so good for many large allocations (probably a
bug in handling the blocks), but was really meant for lots of little
churning allocations anyway. After an analysis of winding lifetimes, it
became clear that the hunk allocator would work very well. The base
windings are allocated from a global hunk (currently 1GB, plenty for
even ad_tears), and ephemeral windings are allocated from a per-thread
hunk of 1MB (seems to be way more than enough: gmsp3v2 uses a maximum of
only 56064 bytes, and ad_tears got through 30% before I gave up on it).
Any speed difference (for gmsp3v2) seems to be lost in the noise: still
completing in 38.4s on my machine.
2021-07-29 11:49:18 +09:00
..
base-vis.c [util] Get vectors working for non-SSE archs 2021-06-01 18:53:53 +09:00
fatpvs.c [qfvis] Optionally use utf8 to encode run lengths 2021-07-27 23:29:14 +09:00
flow.c [qfvis] Use hunk to manage winding memory 2021-07-29 11:49:18 +09:00
Makemodule.am [qfvis] Start work on an off-line fat pvs compiler 2021-07-26 22:42:03 +09:00
options.c [qfvis] Optionally use utf8 to encode run lengths 2021-07-27 23:29:14 +09:00
qfvis.c [qfvis] Use hunk to manage winding memory 2021-07-29 11:49:18 +09:00
soundphs.c [qfvis] Switch to unsigned for various counts 2021-03-27 20:55:15 +09:00