mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2025-10-30 08:01:28 +00:00
Allocate imgbuf on-demand in Picture_PatchConvert
This static var requires a 64 megabyte .bss section value which is allocated on application startup. Depending on the particulars of the operating system's virtual memory implementation, this may result in dynamic page allocation for the span, or a full upfront allocation. Either way, it doesn't need to be like this, we can just dynamically allocate the buffer instead. This may save up to 64MiB of runtime memory usage.
This commit is contained in:
parent
6ffdeb6c44
commit
1ee5547bb2
1 changed files with 2 additions and 2 deletions
|
|
@ -52,8 +52,6 @@
|
|||
#endif
|
||||
#endif
|
||||
|
||||
static unsigned char imgbuf[1<<26];
|
||||
|
||||
#ifdef PICTURE_PNG_USELOOKUP
|
||||
static colorlookup_t png_colorlookup;
|
||||
#endif
|
||||
|
|
@ -119,6 +117,7 @@ void *Picture_PatchConvert(
|
|||
{
|
||||
INT16 x, y;
|
||||
UINT8 *img;
|
||||
UINT8 *imgbuf = Z_Malloc(1<<26, PU_STATIC, NULL);
|
||||
UINT8 *imgptr = imgbuf;
|
||||
UINT8 *colpointers, *startofspan;
|
||||
size_t size = 0;
|
||||
|
|
@ -352,6 +351,7 @@ void *Picture_PatchConvert(
|
|||
size = imgptr-imgbuf;
|
||||
img = Z_Malloc(size, PU_STATIC, NULL);
|
||||
memcpy(img, imgbuf, size);
|
||||
Z_Free(imgbuf);
|
||||
|
||||
if (Picture_IsInternalPatchFormat(outformat))
|
||||
{
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue