Spielfeld nur an den Teilen updaten, die sich geändert haben?
-
Ich hab jetzt schon mehrmals gelesen, daß man bei einem Videospiel (2D) pro Frame am besten immer nur den Teil neu zeichnet, der sich geändert hat, statt das ganze Bild neu zu zeichnen.
Dazu mal eine Frage: Das ist doch Quatsch, oder? Das wird doch nicht wirklich gemacht oder etwa doch?
-
Ich weiß nicht ob man sowas jemals benutzt hat, denke aber das die rechenleistung die heute zur verfügung steht so eine technik unnötig macht.
-
Naja, kann schon sein. Allerdings würde mich das etwas wundern, da es meines Wissens nach keine 2D-Spiele gibt die so Rechenintensiv sind, das nur Teile geupdated werden. Wenn man mal bedenkt wie viele Operationen so eine CPU/sec schafft...
Bin aber mal auf andere Antworten gespannt
-
So unüblich ist das nicht. Speziell wenn sich zwischen den Frames nicht viel ändert, etwa bei GUIs oder Spielen mit wenigen beweglichen Elementen - in dem Fall kann man halt viel direkt aus nem Cache rendern.
Ein Algorithmus dazu ist als Dirty Rectangles bekannt. Windows nutzt ja auch etwas vergleichbares, um nicht immer alles neu zuzeichnen.
-
das war frueher die einzige moeglichkeit die sache fluessig zu haben. nicht nur bei spielen, aber auch bei normalen anwendungen war das der fall (vor langer zeit sogar im text fenster, sonst konnte man zusehen wie der bildschrim beim scrollen aufgebaut wurde.)
das macht man heute wohl nicht mehr, das ist ein grund weshalb sich die leute immer bessere hardware kaufen die sonstwieviel schneller ist, aber auf der anderen seite die software soviel simpler gemacht wird, dass nicht mehr viel bei dem nutzer ankommt von der schnelligkeit.
es hatte echt spass gemacht solche software zu schreiben :). z.b. hat man fuer jede einheit nur den alten teil wo sie sich befand ueberzeichnet und sie dann an die neue stelle gezeichnet. beim scrollen hat man das bild mit nem schnellen memmove verschoben und nur die raender neu gezeichnet.
-
zum scrollen hat man ein register umgesetzt