summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitter.c2
-rw-r--r--MdeModulePkg/Universal/Console/TerminalDxe/TerminalConOut.c11
2 files changed, 11 insertions, 2 deletions
diff --git a/MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitter.c b/MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitter.c
index a6fecb8772..88274b117a 100644
--- a/MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitter.c
+++ b/MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitter.c
@@ -4384,7 +4384,7 @@ ConSplitterTextOutReset (
}
}
- This->SetAttribute (This, EFI_TEXT_ATTR (This->Mode->Attribute & 0x0F, EFI_BACKGROUND_BLACK));
+ This->SetAttribute (This, EFI_TEXT_ATTR (This->Mode->Attribute & 0x0F, EFI_BLACK));
Status = DevNullTextOutSetMode (Private, 0);
if (EFI_ERROR (Status)) {
diff --git a/MdeModulePkg/Universal/Console/TerminalDxe/TerminalConOut.c b/MdeModulePkg/Universal/Console/TerminalDxe/TerminalConOut.c
index 65fbfc1ef4..06fda61274 100644
--- a/MdeModulePkg/Universal/Console/TerminalDxe/TerminalConOut.c
+++ b/MdeModulePkg/Universal/Console/TerminalDxe/TerminalConOut.c
@@ -150,7 +150,7 @@ TerminalConOutReset (
}
}
- This->SetAttribute (This, EFI_TEXT_ATTR (This->Mode->Attribute & 0x0F, EFI_BACKGROUND_BLACK));
+ This->SetAttribute (This, EFI_TEXT_ATTR (This->Mode->Attribute & 0x0F, EFI_BLACK));
Status = This->SetMode (This, 0);
@@ -605,6 +605,15 @@ TerminalConOutSetAttribute (
if ((Attribute | 0x7f) != 0x7f) {
return EFI_UNSUPPORTED;
}
+
+ //
+ // Skip outputting the command string for the same attribute
+ // It improves the terminal performance siginificantly
+ //
+ if (This->Mode->Attribute == (INT32) Attribute) {
+ return EFI_SUCCESS;
+ }
+
//
// convert Attribute value to terminal emulator
// understandable foreground color