Um eine optimale Leistung zu erzielen, müssen Sie beim Zeichnen Ihrer Grafiken sehr vorsichtig sein. Die meisten von Hollywoods Zeichenbefehlen sind nur in Software implementiert, d.h. Sie zeichnen mit der CPU statt mit der GPU. Dies kann insbesondere bei langsameren CPUs zu einem Engpass werden. Daher sollten Sie wissen, welche Zeichenfunktionen hardwarebeschleunigt sind und welche nicht und schreiben Ihre Skripte entsprechend.
Die folgenden Hollywood-Befehle werden hardwarebeschleunigt, wenn RebelSDL aktiv ist und sie in einem Hardware-Doppelpuffer verwendet werden:
Box() Cls() Line() Plot() DisplayBrush() |
DisplayBrush()
wird die Hardwarebeschleunigung nur verwenden, wenn er mit
einem Hardwarepinsel aufgerufen wird. Siehe Verwendung von Hardwarepinseln für Details.
Wenn DisplayBrush()
mit einem Software-Pinsel verwendet
wird, d.h. einem Pinsel, der sich nicht im Videospeicher befindet, zeichnet
er den Pinsel mit der CPU, die viel langsamer ist.
Box()
, Line()
und WritePixel()
werden nur Hardwarebeschleunigung verwenden,
wenn der Füllstil entweder #FILLNONE
oder #FILLCOLOR
ist und keine anderen
Formstile wie #EDGE
oder #SHADOW
aktiv sind. Sobald Sie mit anderen Füll-
oder Formstilen zeichnen möchten, greifen diese Befehle auf ihr
Software-Pendant zurück und sind daher sehr langsam. Sie können dieses
Problem umgehen, indem Sie zuerst die Grafiken in einem Hardwarepinsel
gestalten und dann nur diesen Hardwarepinsel zeichnen. Dies ist eine gute
Strategie, da Hollywoods Software-Wiedergabe nur einmal verwendet wird, d.h.
wenn die Grafiken in einen Hardwarepinsel gezeichnet werden. Danach
profitieren Sie immer von der Hardwarebeschleunigung, da Hardwarepinsel
wirklich schnell gezeichnet werden können.
Vergessen Sie schließlich nicht, dass Sie alle Ihre Zeichnung in einer Hardware-Doppelpufferschleife verwenden sollten. Siehe Verwendung eines Hardware-Doppelpuffers für Details.