rsx/overlays: Cache the loading animated icon

Smooths out some frametime spikes when showing the notification message
This commit is contained in:
kd-11 2023-02-03 04:40:11 +03:00 committed by kd-11
parent f243539362
commit 262ecda2bf

View File

@ -7,14 +7,22 @@ namespace rsx
{ {
namespace overlays namespace overlays
{ {
static std::shared_ptr<loading_icon24> s_loading_icon24;
void show_shader_compile_notification() void show_shader_compile_notification()
{ {
if (!s_loading_icon24)
{
// Creating the icon requires FS read, so it is important to cache it
s_loading_icon24 = std::make_shared<loading_icon24>();
}
queue_message( queue_message(
localized_string_id::RSX_OVERLAYS_COMPILING_SHADERS, localized_string_id::RSX_OVERLAYS_COMPILING_SHADERS,
5'000'000, 5'000'000,
{}, {},
message_pin_location::bottom, message_pin_location::bottom,
std::make_shared<loading_icon24>()); s_loading_icon24);
} }
} }
} }