quakeforge/libs/video/renderer
Bill Currie 058e919273 [renderer] Use better heuristics for scrap allocation
More tuning is needed on the actual splits as it falls over when the
lower rect gets too low for the subrects being allocated. However, the
scrap allocator itself will prefer exact width/height fits with larger
cutoff over inexact cuts with smaller cutoff. Many thanks to tdb for the
suggestions.

Fixes the fps dropping from ~3700fps down to ~450fps (cumulative due to
loss of POT rounding and very poor splitting layout), with a bonus boost
to about 4900fps (all speeds at 800x450). The 2d sprites were mostly ok,
but the lightmaps forming a capital gamma shape in a 4k texture really
hurt. Now the lightmaps are a nice dense bar at the top of the texture,
and 2d sprites are pretty good (slight improvement coming next).
2022-09-20 19:32:49 +09:00
..
gl [renderer] Report scrap rectangle counts 2022-09-20 19:32:41 +09:00
glsl [renderer] Report scrap rectangle counts 2022-09-20 19:32:41 +09:00
sw [renderer] Add a cell-based character buffer 2022-09-15 14:24:33 +09:00
vulkan [renderer] Add a cell-based character buffer 2022-09-15 14:24:33 +09:00
crosshair.c Add a new crosshair. 2012-12-12 19:36:50 +09:00
font8x8.c [renderer] Add a default 8x8 font 2021-01-08 14:37:52 +09:00
Makemodule.am [renderer] Add a cell-based character buffer 2022-09-15 14:24:33 +09:00
noisetextures.c Change pointer_t to unsigned and clean up the mess. 2012-12-21 21:53:13 +09:00
r_alias.c [scene] Move entity_t etc into scene headers 2022-03-29 14:43:38 +09:00
r_billboard.c [renderer] Move a couple functions to using vec4f_t 2022-03-30 23:53:30 +09:00
r_bsp.c [model] Move visframe out of msurface_t 2022-05-22 16:38:50 +09:00
r_cvar.c [cvar] Make cvars properly typed 2022-04-24 19:15:22 +09:00
r_draw.c [renderer] Return count of lines printed to char buffer 2022-09-20 10:27:24 +09:00
r_dyn_textures.c [image] Change tex_t data from array to pointer 2021-01-25 00:54:41 +09:00
r_efrag.c [model] Move plane info into mnode_t, and visframe out 2022-05-22 12:41:23 +09:00
r_ent.c [sound] Remove a pile of unwanted sound.h includes 2022-06-03 15:43:53 +09:00
r_fog.c [renderer] Fix some non-static linking issues 2022-03-09 06:55:31 +09:00
r_font.c [renderer] Fix access to freed memory loading fonts 2022-09-15 14:32:16 +09:00
r_graph.c [cvar] Make cvars properly typed 2022-04-24 19:15:22 +09:00
r_init.c [plugin] Ensure plugins get unloaded during shutdown 2022-05-12 20:58:39 +09:00
r_iqm.c [scene] Move entity_t etc into scene headers 2022-03-29 14:43:38 +09:00
r_light.c [model] Move visframe out of msurface_t 2022-05-22 16:38:50 +09:00
r_main.c [model] Move plane info into mnode_t, and visframe out 2022-05-22 12:41:23 +09:00
r_part.c [cvar] Make cvars properly typed 2022-04-24 19:15:22 +09:00
r_progs.c [renderer] Add a buffer print function 2022-09-16 00:58:25 +09:00
r_scrap.c [renderer] Use better heuristics for scrap allocation 2022-09-20 19:32:49 +09:00
r_screen.c [model] Move visframe out of msurface_t 2022-05-22 16:38:50 +09:00
r_sprite.c [scene] Move entity_t etc into scene headers 2022-03-29 14:43:38 +09:00
r_text.c [renderer] Switch to using HarfBuzz for glyph positioning 2022-09-04 20:56:38 +09:00
vid_common.c [renderer] Clean up particles a little 2022-03-29 14:43:38 +09:00
vid_render_gl.c [renderer] Add a cell-based character buffer 2022-09-15 14:24:33 +09:00
vid_render_glsl.c [renderer] Add a cell-based character buffer 2022-09-15 14:24:33 +09:00
vid_render_sw.c [renderer] Add a cell-based character buffer 2022-09-15 14:24:33 +09:00
vid_render_vulkan.c [renderer] Add a cell-based character buffer 2022-09-15 14:24:33 +09:00