diff options
-rw-r--r-- | MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitter.c | 2 | ||||
-rw-r--r-- | MdeModulePkg/Universal/Console/TerminalDxe/TerminalConOut.c | 11 |
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
|