Zum Hauptinhalt springen

Bildschirm beibehalten (screen.keep)

Deklaration

screen.keep()

Beschreibung

Speichert den aktuellen Bildschirminhalt in einem Puffer. Bei mehreren Aufrufen von Funktionen zum Abrufen von Farben, Suchen von Farben, Erstellen von Screenshots oder Suchen von Bildern wird der Inhalt aus diesem Puffer statt vom tatsächlichen Bildschirm abgerufen, wodurch die Leistung der Bildauswertung verbessert wird.
Diese Optimierungsfunktion verbessert die Leistung zahlreicher statischer Bildverarbeitungsfunktionen.
Der Aufruf beeinflusst nur die Datenquelle der XXTouch-Funktionen für Screenshots und Farbabfragen und friert den tatsächlichen Bildschirminhalt nicht ein.

Beispiel

-- Die Farben von 6144 Punkten in einer Schleife abrufen und protokollieren
t = {}
screen.keep()
for k = 1, 640, 10 do
for j = 1, 960, 10 do
-- Als Hexadezimaltext formatieren
t[#t + 1] = string.format("%X", screen.get_color(k, j))
end
end
screen.unkeep()
nLog(t)

Hinweis: Der obige Code verwendet die Funktion nLog, die nicht zu diesem Kapitel gehört.

Wissenswertes

  • Zwei aufeinanderfolgende separate Aufrufe von screen.get_color für dieselbe Position können unterschiedliche Werte liefern.
  • Ohne screen.keep entspricht die Dauer eines einzelnen Aufrufs von screen.get_color ungefähr der Dauer eines Aufrufs von screen.keep.
  • Nach dem Aufruf von screen.keep benötigen 50 aufeinanderfolgende Aufrufe von screen.get_color ungefähr so viel Zeit wie ein Aufruf von screen.keep.