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:
parent
738bb309f9
commit
0feb03e680
Notes:
blender-bot
2023-02-14 05:16:25 +01:00
Referenced by issue #73763, Nodes Editor laggy
|
@ -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)
|
||||
|
|
Loading…
Reference in New Issue