Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

Double Buffering vs. Page Flipping

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu QBasic.
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
jb



Anmeldungsdatum: 14.01.2005
Beiträge: 2010

BeitragVerfasst am: 24.02.2005, 16:38    Titel: Double Buffering vs. Page Flipping Antworten mit Zitat

Hallo!!

Was ich immer schon mal wissen wollte, was ist eigentlich der entscheidende Unterschied zwischen

- Page-Flipping (d.h. sichtbare uns unsichtbare Seite vertauschen) und

- Double-Buffering (d.h. arbeiten mit PCOPY)?

Mit Page-Flipping habe ich nicht so gute Erfahrungen gemacht, da dabei
immer noch eine Pause eingebaut werden muss (d.h. ein paar Befehle mehr), sonst flimmerts nämlich doch....
Könnte es sein, dass Page-Flipping schneller ist?

jb
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Dusky_Joe



Anmeldungsdatum: 07.01.2005
Beiträge: 1007
Wohnort: Regensburg/Oberpfalz

BeitragVerfasst am: 24.02.2005, 18:04    Titel: Antworten mit Zitat

Könnt sein, dass ich falsch liege, aber du hast des doch eigentlich schon erklärt, oder?
Page flipping heißt einfach, zw. zwei seiten hin- und herschalten, und double buffering heißt, dass man ein bild erst mal irgendwo in den Ram schreibt, und dann in den Videoram schiebt.
Page flipping is damit dann mehr oder weniger etwas, das man beim double buffering braucht, wenn mans so sagen will.

was natürlich auch ginge:
Man hat zwei seiten, eine sichtbare und eine aktive.
Man schreibt mit den Drawing primitives auf die aktive, und zeigt die andre an. dann wird die aktive zur sichtbaren, und umgekehrt. auf der aktiven wird dann wieder mit den primitives ein neues einzelbild der animation gezeichnet.

hast du das vllt gemeint?
_________________
fully biological degradable

Once, the big wave arrives, you've got two ways, you can go:
Either, you ride it, or you don't do.
But, if you don't ride, you'll never know wether you'd have gone wet.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Mecki
Igel


Anmeldungsdatum: 10.09.2004
Beiträge: 985
Wohnort: Niederbayern

BeitragVerfasst am: 24.02.2005, 18:32    Titel: Antworten mit Zitat

Letztere Möglichkeit ist auch recht effektiv, man muss nur aufpassen, wenn man gleichzeitig mit der Maus arbeiten will.
_________________
» Yodl.de: So sucht man gestern. verwundert
» Geld verdienen im Netz + ICQ.
» Firefox!
» 100€ zu gewinnen
» FreeBASIC.de
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen AIM-Name Yahoo Messenger MSN Messenger
jb



Anmeldungsdatum: 14.01.2005
Beiträge: 2010

BeitragVerfasst am: 24.02.2005, 19:29    Titel: Antworten mit Zitat

Die letztere Variante ist ja eine Art Page-Flipping, z.B.
Code:

visible = 0: active = 1

DO
 SCREEN 7 , , visible, active
 REM Graphik
 SWAP visible, active
 REM Pause
 CLS
LOOP


Na ja, mich hat halt nur interessiert, bei welcher Variante welcher Vorteil
liegt (z.B. Geschwindigkeit).

jb
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
dreael
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 2529
Wohnort: Hofen SH (Schweiz)

BeitragVerfasst am: 24.02.2005, 21:39    Titel: Antworten mit Zitat

Da ich ja unter

http://www.dreael.ch/Deutsch/BASIC-Knowhow-Ecke/ButterweicheAnimationen.html

auch meinen bekannten Animationsartikel im Programm habe, folgende Stellungsnahme meinerseits zur Titelfrage:

Bei älteren PCs (ich begann ja schliesslich so mit 8088 und 80286) war das Umkopieren einer grösseren Speichermenge relativ zeitaufwändig, so dass ich von da her immer noch gewohnt bin, mit Page Flipping zu arbeiten.

Was aber tatsächlich stimmt: Bei

http://www.dreael.ch/Deutsch/Download/Pyramide3D.html

konnte ich auf schnelleren Rechnern auch schon ein Flimmern beobachten. Analysen ergaben, dass gewisse Grafikkarten (VGA-BIOS-Implementationen) die CPU bereits zurückgeben, noch bevor die eigentliche Videoseiten-Umschaltung beim VBlank erfolgt. Wenn man nur mit 2 Seiten arbeitet, so führt man beim Bildaufbau z.B. ein CLS durch, was man bereits sieht, weil ja noch die alte Seite von der Grafikkarte verarbeitet wird.

Macht man dagegen 3 und mehr Videoseiten, so scheint der Effekt nicht mehr aufzutreten, denn dort scheint das VGA-BIOS den Prozessor bei einem neuen Wechsel die CPU anzuhalten, falls der alte Wechsel noch nicht verarbeitet wurde.

Bei den heutigen 3 GHz-Rechnern kann man dagegen problemlos nur noch mit PCOPY arbeiten. Von da her müsste ich meinen Artikel mal leicht updaten. ;-)
_________________
Teste die PC-Sicherheit mit www.sec-check.net
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
jb



Anmeldungsdatum: 14.01.2005
Beiträge: 2010

BeitragVerfasst am: 25.02.2005, 16:57    Titel: Antworten mit Zitat

Jo, alles klar.

jb
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Thomas Antoni



Anmeldungsdatum: 12.10.2004
Beiträge: 220
Wohnort: Erlangen

BeitragVerfasst am: 26.02.2005, 21:39    Titel: Ich dachte, Double Buffering u.Page Flipping seien dasselbe Antworten mit Zitat

Ich dachte, Double Buffering u.Page Flipping seien dasselbe. Wenigsten wird es in vielen Büchern und Tutorials synonym (gleichbedeutend) verwendet. Oder erinnere ich mich falsch?
_________________
+++ Die beliebte QBasic CD-ROM von QBasic.de - 670 MB QBasic-Stuff mit komfortabler HTML-Oberfläche. Für nur 5 EUR bestellbar auf www.antonis.de/qbcdueb.htm +++
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
jb



Anmeldungsdatum: 14.01.2005
Beiträge: 2010

BeitragVerfasst am: 26.02.2005, 21:55    Titel: Antworten mit Zitat

Na ja, im Prinzip können sie schon das gleiche sein, da man ja immer den
Inhalt einer Videoseite "verborgen" zeichnet, und die andere angezeigt wird...

Page Flipping und Double Buffering sind vom Prinzip her gleich, werden
nur etwas anders gehandhabt.

jb
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 27.02.2005, 19:11    Titel: Antworten mit Zitat

Page flpipping:
2 (oder mehr) seiten im videoram werden vertauscht.
Double buffering:
Ein puffer wird verwendet. der kann auf der platte oder im ram sein
_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
jb



Anmeldungsdatum: 14.01.2005
Beiträge: 2010

BeitragVerfasst am: 27.02.2005, 20:13    Titel: Antworten mit Zitat

Hehe, der Puffer kann aber auch eine Bildschirmseite im Videoram sein.

jb
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Dusky_Joe



Anmeldungsdatum: 07.01.2005
Beiträge: 1007
Wohnort: Regensburg/Oberpfalz

BeitragVerfasst am: 27.02.2005, 20:27    Titel: Antworten mit Zitat

Sicher sicher, aber RAM is RAM durchgeknallt

Wenn man in seinen Prog im SCREEN 0 bleibt, kann man genau so gut, das Seg &HA000 als speicher verwenden, oder cool
_________________
fully biological degradable

Once, the big wave arrives, you've got two ways, you can go:
Either, you ride it, or you don't do.
But, if you don't ride, you'll never know wether you'd have gone wet.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
jb



Anmeldungsdatum: 14.01.2005
Beiträge: 2010

BeitragVerfasst am: 27.02.2005, 21:13    Titel: Antworten mit Zitat

Ja schon, wenn du danach aber z.B. zum SCREEN 13 wechselst, wirst du
dich wundern...

jb
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
zwergnase



Anmeldungsdatum: 03.01.2006
Beiträge: 26
Wohnort: Frankfurt am Main

BeitragVerfasst am: 21.07.2006, 12:02    Titel: Page flipping in SCREEN 13 unter QBASIC? Antworten mit Zitat

Weiß einer von euch ob page flipping für SCREEN 13 unter QBASIC ohne assembler realisiert werden kann?
Ich muss ja den Zeiger ändern der auf den als nächstes auszugebenden Bereich im Videoram zeigt. Nur wie???
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
A.K.



Anmeldungsdatum: 02.05.2005
Beiträge: 467
Wohnort: HH

BeitragVerfasst am: 21.07.2006, 12:29    Titel: Antworten mit Zitat

Hi,

bitte keine Threads rauskramen die knapp 1 1/2 Jahre sind.


MFG A.K.

PS: schön das noch jemand die Foren-Suchfunktion verwendet. lächeln
_________________

http://forum.IconSoft.de
http://www.pnpbb.de - hol dir jetzt dein eigenes kostenloses Forum *NEU*
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen Yahoo Messenger MSN Messenger
Sebastian
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 5969
Wohnort: Deutschland

BeitragVerfasst am: 21.07.2006, 12:37    Titel: Antworten mit Zitat

@Zwergnase: Wenn man über die Forensuche an einen nützlichen Thread gerät und dazu noch eine Frage hat, kann man die ruhig noch dazu posten! Daumen rauf! Hast nichts verkehrt gemacht.

Nicht so toll ist nur, wenn jemand einen Umfragethread oder sowas rauskramt, der schon 1,5 Jahre erledigt ist, und dann etwas dazu schreibt wie "Jo, sehe ich auch so." Das sieht dann nämlich so aus, als wolle der Nutzer durch sinnloses Posten seinen Postcounter hochtreiben.
_________________

Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu QBasic. Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz