Deutsch
Forum

Meine Prozedur bremst meine Diashow aus

 

Tango
Hallo xProfan-Fans,

meine Diashow läuft soweit. Habe meine kleinen Problemchen gelöst. Ein paar Feinheiten machen mir aber noch zu schaffen.

Die unten angehängte Proc bremst mein komplettes Programm aus. Wie kann ich denn meine Bilder im Hintergrund laden ohne auf die Abarbeitung dieser Proc warten zu müssen? Im Prinzip könnte ich ja damit leben, doch es werden etwa 1000 Bilder, je 100 in 10 Ordnern nach thematischer Abarbeitung geladen und die Wartezeiten sind wirklich nervig. Habe mir überlegt einen zweiten Timer zu nutzen doch es wird in xProfan nur einer angeboten.
Alternativ könnte ich ja je zwei bilder vom Datenträger laden doch gefällt mir mein erster Ansatz besser.

Wie kann man das elegant lösen?
Proc Verzeichnis

    Parameters Folder$'Die Parameterübergabe des aktuellen Verzeichnisses
    Var counter% = 0 : Var i% = 0'Zählvariablen zum Einlesen der Bilder
    Declare Datei$, bild&'Datei und Bildnummer
    Declare Pfad$, Bilder$'Pfad des aktuellen Verzeichnisses und Bilddaten in Vaiable speichern
    'Bildverzeichnis Initialisieren
    Pfad$ = $ProgDir + "Bilder\" + Folder$ + "\"
    ChDir Pfad$
    Pfad$ = Pfad$ + "*.jpg"
    Bilder$ = FindFirst$(Pfad$)
    AddFiles bilder$
    'sucht nach Bilder und weist Diese der Variable Bilder$ zu

    WhileNot %IOResult

        bilder$=FindNext$()
        addfiles bilder$
        inc counter%

    EndWhile

    'ordnet die geladenen Bilder den TexturArray zu

    whilenot anzahl% = counter%

        DATEI$ = ListBoxItem$(anzahl%)
        bild& = Create("hsizedPic",-1,  Datei$,1280,1024,1)
        casenot bild& : continue
        texture%[i% + 1] = oGL("getTextureBMP",bild&,1)
        deleteObject bild&
        inc i%
        inc anzahl%

    endwhile

EndProc

 
08.03.2017  
 




p.specht

Reicht es nicht, wenn Du die jeweils nächsten (sagen wir 6) im voraus ladest?
 
XProfan 11
Computer: Gerät, daß es in Mikrosekunden erlaubt, 50.000 Fehler zu machen, zB 'daß' statt 'das'...
08.03.2017  
 




Tango
Das habe ich grad mal probiert. Führt dann aber bei den anderen grafischen Effekten zu einem Ruckler von ca 2sekunden - unschön
 
08.03.2017  
 




p.specht

Vielleicht kannst Du im voraus eine Liste all deiner Bilder erzeugen. So schnell ändert sich das ja nicht. Da ich noch aus DOS-Zeiten stamme, würde ich den CMD-Interpreter starten und mit DIR /S /b *.png > Bilder.txt suchen und in die Datei Bilder.txt umleiten, weitere Formate mit DIR /S /b *.jpg >> Bilder.txt anhängen. Vorteil: Der richtige Pfad ist dann schon dabei, vorausgesetzt die Sache ist thematisch gegliedert. Für neue Bilder dann eben neue Verzeichnisse. Nicht elegant, klappt aber *LOL*

Dann nur die jeweils seitlichen Bilder im voraus laden. Bei mehr als 80 Bildern schlafen die Zuschauer üblicherweise ohnehin ein...
 
Computer: Gerät, daß es in Mikrosekunden erlaubt, 50.000 Fehler zu machen, zB 'daß' statt 'das'...
08.03.2017  
 




Tango
p.specht (08.03.2017)
Vielleicht kannst Du im voraus eine Liste all deiner Bilder erzeugen. So schnell ändert sich das ja nicht. Da ich noch aus DOS-Zeiten stamme, würde ich den CMD-Interpreter starten und mit DIR /S /b *.png > Bilder.txt suchen und in die Datei Bilder.txt umleiten, weitere Formate mit DIR /S /b *.jpg >> Bilder.txt anhängen. Vorteil: Der richtige Pfad ist dann schon dabei, vorausgesetzt die Sache ist thematisch gegliedert. Für neue Bilder dann eben neue Verzeichnisse. Nicht elegant, klappt aber *LOL*


Ja, das wäre auch ein Ansatz. Also könnte ich die Bilder vorbereiten, mit DOS den ganzen Verzeichnis-Kram in die Datei umleiten und die dann verwenden.
Okay, ich denke das wird funktionieren wenn ich das Laden der Bilder quasi als Wartezyklus zwischen den neuen Bildern nutze.
Das entspricht jetzt nicht meinen Vorstellungen aber es löst das Problem der Wartezeit elegant.
Ist dann aber für zukünftige Projekte noch immer ein ungelöstes Problem.

p.specht (08.03.2017)
Dann nur die jeweils seitlichen Bilder im voraus laden. Bei mehr als 80 Bildern schlafen die Zuschauer üblicherweise ohnehin ein...


Hast recht, die würden bei Tausen Bildern tatsächlich einschlafen
Stell dir das Ganze bitte nicht als standard Diashow vor. Eher als Demo aus den 80'er vom Amiga. Mit guter Musik, Laufbalken, Sprites Lissajous-Figuren, Lauftexte mit Greetings to, blalblabla.... (natürlich nicht alles auf einmal). Also alles was OpenGL, bzw. ich so kann (Bisher nicht viel).

Das ganze auf vier Beamer (Firmengelände meines Freundes) während Party zum Geburtstag meiner Holden im Herbst. Die Party soll was ganz besonderes werden. Ist ein Runder Geburtstag mit einer "5" Also wirklich große Party.

(Ausserdem werden einige meiner ehem. Schulkumpels mir ganz sicher Fragen stellen mit welchem "konventionellen" Programm ich das wohl erstellt habe - und dann richtig glänzen kann, verstehst'e )
 
09.03.2017  
 



Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

5.644 Betrachtungen

Unbenanntvor 0 min.
H.Brill15.07.2021
iF31.10.2020
Julian Schmidt19.11.2017
Torsten Rümker05.07.2017
Mehr...

Themeninformationen

Dieses Thema hat 2 Teilnehmer:

Tango (3x)
p.specht (2x)


Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie