Ich portiere derzeit einen Grafikterminal-Renderer von Windows nach Linux. Die Windows-Version verwendet die Win32-Konsolen-API zum Rendern von Farben und läuft ziemlich reibungslos. Unter Linux versuche ich, ANSI-Escape-Codes zum Festlegen der Farbe zu verwenden, aber die Leistung ist schlecht. Der folgende Code ist ein Beispiel vom Renderer:
Ich habe die Funktionalität von 16 Farben auf Truecolor erweitert (was kann dazu beitragen, dass sich die Renderzeit erhöht.)
Durch die Lektüre von StackOverflow weiß ich, dass andere Leute versucht haben, dasselbe zu tun, mit Ergebnissen wie meinem. Ich habe auch gelesen, dass andere davon abraten, daher bin ich unsicher, wie ich am besten vorgehen soll.
Versuch:
Ich weiß, dass die printf-Funktion nach einem Format und in Bezug auf die Datentypen arbeitet, die das Format angibt. Ich habe die Art und Weise, wie ich Farbe in int konvertiere, geändert und sie so gut wie möglich optimiert, aber es hat keinen spürbaren Unterschied gemacht.
Gibt es also eine Konsolen-API unter Linux, die eine bessere Leistung als ANSI-Sequenzen bietet?
Ich portiere derzeit einen Grafikterminal-Renderer von Windows nach Linux. Die Windows-Version verwendet die Win32-Konsolen-API zum Rendern von Farben und läuft ziemlich reibungslos. Unter Linux versuche ich, ANSI-Escape-Codes zum Festlegen der Farbe zu verwenden, aber die Leistung ist schlecht. Der folgende Code ist ein Beispiel vom Renderer: [code] for(int row = 0; row < height; row++) { for(int col = 0; col < width; col++) { struct term_color pix = display[row*width+col]; printf("\x1b[48;2;%d;%d;%dm ", pix.r, pix.g, pix.b); } } [/code] [b]Hinweis[/b]: [list] [*]Ich habe die Funktionalität von 16 Farben auf Truecolor erweitert (was kann dazu beitragen, dass sich die Renderzeit erhöht.) [*]Durch die Lektüre von StackOverflow weiß ich, dass andere Leute versucht haben, dasselbe zu tun, mit Ergebnissen wie meinem. Ich habe auch gelesen, dass andere davon abraten, daher bin ich unsicher, wie ich am besten vorgehen soll. [/list] [b]Versuch[/b]: [list] [*]Ich weiß, dass die printf-Funktion nach einem Format und in Bezug auf die Datentypen arbeitet, die das Format angibt. Ich habe die Art und Weise, wie ich Farbe in int konvertiere, geändert und sie so gut wie möglich optimiert, aber es hat keinen spürbaren Unterschied gemacht. [/list] [b]Gibt es also eine Konsolen-API unter Linux, die eine bessere Leistung als ANSI-Sequenzen bietet?[/b]
Ich möchte die Ausgabe in ein ScrolledText -Wigget in einer Tkinter -Umgebung umleiten und die Druckfunktion verwenden, um Zeichenfolgen mit Farben im Widget anzuzeigen. Es druckt in Violett auf dem...
In diesem Code möchte ich die Vorder- und Rückseite ändern, wenn ich sie separat verwende, funktioniert
aber in diesem Code ändert es nicht die Vorderfarbe in VSCODE -Terminal, sondern in anderen...
Ich versuche, ein T5-Base -Modell für die Erstellung geeigneter Frage gegen ein Compliance-Element zu optimieren. Compliance -Itresams sind Absatz von Texten und meine Frage befindet sich im...
Ich verwende die Escape-Sequenz (JAVA) „\a“ oder „\a“, dann erhalte ich einfach Fehlermeldungen...
Mein Code...
class Bell{
public static void main(String args[]){
System.out.println( \a );
}
}...