Fix T73763: Laggy when zooming a node editor with International Fonts

Two main reasons for the lag:
- Allocation of memory with transfer to GPU.
- BLF_cache_clear();

The (partial) solution is to avoid memory allocating in some setups
through the `GPU_texture_clear`.

Differential Revision: https://developer.blender.org/D6837
This commit is contained in:
Germano Cavalcante 2020-02-15 12:18:43 -03:00
parent 738bb309f9
commit 0feb03e680
Notes: blender-bot 2023-02-14 05:16:25 +01:00
Referenced by issue #73763, Nodes Editor laggy
1 changed files with 5 additions and 5 deletions

View File

@ -265,16 +265,16 @@ static void blf_glyph_cache_texture(FontBLF *font, GlyphCacheBLF *gc)
gc->p2_height = font->tex_size_max;
}
unsigned char *pixels = MEM_callocN((size_t)gc->p2_width * (size_t)gc->p2_height,
"BLF texture init");
GPUTexture *tex = GPU_texture_create_nD(
gc->p2_width, gc->p2_height, 0, 2, pixels, GPU_R8, GPU_DATA_UNSIGNED_BYTE, 0, false, error);
MEM_freeN(pixels);
gc->textures[gc->texture_current] = tex;
gc->p2_width, gc->p2_height, 0, 2, NULL, GPU_R8, GPU_DATA_UNSIGNED_BYTE, 0, false, error);
GPU_texture_bind(tex, 0);
GPU_texture_wrap_mode(tex, false);
GPU_texture_filters(tex, GPU_NEAREST, GPU_LINEAR);
GPU_texture_clear(tex, GPU_DATA_UNSIGNED_BYTE, NULL);
GPU_texture_unbind(tex);
gc->textures[gc->texture_current] = tex;
}
GlyphBLF *blf_glyph_search(GlyphCacheBLF *gc, unsigned int c)