CPU overhead in ProcessEvent reduction
This commit is contained in:
@@ -248,7 +248,6 @@ static void ProcessEvent() {
|
||||
if (!object || !func) return;
|
||||
|
||||
std::string funcName = func->GetName();
|
||||
std::string objectName = object->GetName();
|
||||
// Full stealth fix: disable AI perception.
|
||||
if (object->IsA(AStyx3AIController::StaticClass()) && funcName == "OnPerceptionIntensityUpdated") {
|
||||
auto* AIController = static_cast<AStyx3AIController*>(object);
|
||||
@@ -260,6 +259,7 @@ static void ProcessEvent() {
|
||||
}
|
||||
}
|
||||
if (object->IsA(UUserWidget::StaticClass()) && (funcName == "Construct" || funcName == "Destruct" || funcName == "Tick")) {
|
||||
std::string objectName = object->GetName();
|
||||
auto UpdateUI = [&](const std::vector<UWidget**>& targets, const std::vector<UWidget*>& values) {
|
||||
if (funcName == "Construct") {
|
||||
for (size_t i = 0; i < targets.size(); ++i)
|
||||
@@ -340,7 +340,7 @@ static void ProcessEvent() {
|
||||
}
|
||||
};
|
||||
|
||||
if (objectName.contains("Crafting")) {
|
||||
if (objectName.rfind("Crafting", 0) == 0) {
|
||||
auto* crafting = static_cast<UUserWidget*>(object);
|
||||
if (funcName == "Construct") {
|
||||
g_CraftingWidget = static_cast<UUserWidget*>(object);
|
||||
@@ -350,7 +350,7 @@ static void ProcessEvent() {
|
||||
g_CraftingWidget = nullptr;
|
||||
}
|
||||
}
|
||||
else if (objectName.contains("HUD_Widget_C")) {
|
||||
else if (objectName.rfind("HUD_Widget_C", 0) == 0) {
|
||||
auto* HUDWidget = static_cast<UUserWidget*>(object);
|
||||
if (funcName == "Construct") {
|
||||
if (HUDWidget && HUDWidget->Class) {
|
||||
|
||||
Reference in New Issue
Block a user