Français
Forum

Aider! - je verzweifle lente - Nachladen de Fichiers im Hintergrund

 

Tango
maintenant suis je avec meinem latin am Ende. je bekomme es simple pas hin. comment peux je car Fichiers, Bilder, Textes im Hintergrund nachladen? allez cela überhaupt et si oui, comment? Mir fehlt simple qui Ansatz en supplément.

Alle Versuche qui je gemacht habe poser sämtliche Animationen paralysé jusqu'à vous geladen sommes.

comment peux on cela prinzipiell lösen?
 
09.03.2017  
 




Georg
Teles
journée,

dis donc oui c'est ca, quoi Du avant la hâte, am besten avec einem Beispiel et quelle Profanversion Du benutzt. Soweit je weiss, gibt es une Hilfedatei chez xProfan chez, such là zB pour Bildhandle

je melde mich später, si je à la maison suis.

salut
 
XProfan X3
TC-Programming [...] 
XProfan 8.0 - 10.0 - X2 - X3 - X4

10.03.2017  
 




Tango
Georg Teles (10.03.2017)
journée,

dis donc oui c'est ca, quoi Du avant la hâte, am besten avec einem Beispiel et quelle Profanversion Du benutzt. Soweit je weiss, gibt es une Hilfedatei chez xProfan chez, such là zB pour Bildhandle

je melde mich später, si je à la maison suis.

salut


allô Georg,

j'ai grand Probleme mon Diashow sur OpenGL-la base flüssig trop betreiben. qui oGL-Geschichte fonctionne super et so comment je mir cela gedacht habe. Lade je eh bien une Bilderserie ou bien aussi seulement un Bild, stoppt sämtliche Animation et zwar so longtemps jusqu'à cela/qui Bild(il) geladen sommes/ist. après klappt alles. c'est pourquoi était mon Überlegung qui Bilderserie ebend im Hintergrund dans den grenier trop magasin au cours de qui Animation im Vordergund déjà fonctionne et quelque chose Anderes Zeigt comme qui Bilder.

je hänge la fois meinen kompletten Wurstel-Test-Code à.

Wen Du den Testest lege la fois im Programmverzeichnis qui folgenden Dossier à:

X:/Programmverzeichnis/Bilder/1/1.....20.jpg etc.

et une Dossier nommé Sound et packe là une mp3 avec "1.mp3" hinein.

Achso: je benutze Xprofan 3.1
Var anzahl% = 0
Var position! = 25
Var color! = 0
Déclarer hfont&, font&
Déclarer Ende%, qui%'Variable pour Abbruchbedingung
Déclarer pos!, rouge!'Positions- et RotationsVariablen
Déclarer textur%, kugel#
Déclarer texture%[500]
Déclarer time&
declare r!
'Legt qui Fensterform fest
'Fenêtre Style 64 + 16                                                                            'la fenêtre sans cadre et
Fenêtre %MaxX, %MaxY'la fenêtre à Desktopauflösung anpassen
CLS 0
'Initialisiert OpenGL
oGL("Init", %hWnd, 0, 0, 0, 0)
oGL("BlendMode",1)
'oGL("LoadXPGL", "Linie.xpgl")                                                                   'Lädt Linienpunkte aus Dossier ligne number.xpgl
'oGL("UseXPGL", 1)                                                                               'Verwendet cet Linienpunkte
'Legt Lauftschrift fest
hfont& = create("Font", "Courier New", 32, 0, 0, 10, 0)'Lädt Font dans Variable hfont&
font& = oGL("OutlineFont", hfont&, 0.3)'Weist hfont& oGL trop
deleteobject hfont&'Zerstört objet hfont& wieder, weil es pour Zuweisung pas plus nécessaire wird
Verzeichnis 1'Liest Bilddaten un
'Spielt Mukke ab
MIDI("Play", $PROGDIR + "Sound\" + "1.mp3", -1)
SetTimer 5'max. 50 Frames /sek.

WhileNot ende%'si aucun Abbruchbedingung erkannt wurde, durchlauf des Timers

    Si IsKey(27)'ist Abbruchbedingung "Escape-Taste" erfüllt, ensuite

        Ende% = 1'setzte Variable Ende% sur 1

    EndIf'et finis cet Abfrage

    'imprimer "noch un test"
    Cas position! < -100 : position! = 25'si Text derrière linkem Bildschirmrand verschwunden ensuite starte ihn wieder de Vorne
    Cas color! = 90 : color!=1'si Rotationswinkel 90Grad erreicht, ensuite sur 0 mettons
    OpenGL()'Zeichne derweil OpenGL

Endwhile'Springe trop WhileNot

KillTimer'finis pour 5ms den Minuteur ou bien besser dit: Springe pour 5ms wieder zum SetTimer
Fin

Proc Verzeichnis

    Paramètres Folder$'qui Parameterübergabe des aktuellen Verzeichnisses
    Var counter% = 0 : Var i% = 0'Zählvariablen zum Einlesen qui Bilder
    Déclarer Dossier$, bild&'Dossier et Bildnummer
    Déclarer Pfad$, Bilder$'Pfad des aktuellen Verzeichnisses et Bilddaten dans Vaiable Sauver
    'Bildverzeichnis Initialisieren
    Pfad$ = $PROGDIR + "Bilder\" + Folder$ + "\"
    ChDir Pfad$
    Pfad$ = Pfad$ + "*.jpg"
    Bilder$ = $ FindFirst(Pfad$)
    AddFiles bilder$
    'cherchez pour Bilder et weist cet qui Variable Bilder$ trop

    WhileNot %IOResult

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

    Endwhile

    'ordnet qui geladenen Bilder dem TexturArray trop

    whilenot anzahl% = counter%

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

    endwhile

ENDPROC

proc OpenGL

    position! = position! - 0.05
    color! = color! + 0.05
    oGL("Clear")
    '  oGL("Origin", 0.0, 0.0, -9.0)                                                               'mets Position qui XPGL-Linien
    '		oGL("DrawXPGL", 0, 4)                                                                       'Zeichnet ebend cet Linien
    oGL("Origin", 0, 0, -30)
    oGL("Color", cos(color!), sin(color!), 1 - 0.5*cos(color!/30), 1)
    oGL("Move", position!, 11.7, 0)
    oGL("Print", font&, "     DiaShow V1.0  lorem ipsum...........")
    'oGL("Fog",3,0,25 + sin(rotation!))
    oGL("Origin", 0, 0, -30)
    oGL("Color", cos(color!/10), sin(color!/3), 1 - 0.5*cos(color!), 1)
    oGL("Move", position!/0.7, -12.2, 0)
    oGL("Print", font&, "   lorem ipsum ................................................................    ")
    'Sprites
    'oGL("Origin", -3.4, -0.1, -6.0)
    'oGL("Color", 10, 10, 10, 1)
    'oGL("Quad", %MaxX, 0.1)
    'oGL("Origin", 0, 0, -12)
    'oGL("Draw", kugel#)
    'oGL("Origin", 0, 0, -6)
    '    oGL("Origin", 0, -4.5, -18)
    '    oGL("Draw", kugel#)

    si &GetTickCount - time& >= 5000'5 Sekunden sommes rum

        r! = r! + 1
        cas r! = anzahl% : r! = 1
        time&   = &GetTickCount

    endif

    'Bilder magasin
    oGL("Origin", 0, -4, -12)
    oGl("color",1,1,1,1)
    oGl("move",-5.8, 0, -7.5)
    oGL("Rotate", 0, 30, sin(color!))
    oGl("push")
    oGL("Texture", texture%[r!], 1)
    oGL("Quad", 13, 8)
    oGl("pop")
    oGL("Origin", 0, -4, -12)
    oGl("color",1,1,1,1)
    oGl("move",5.8, 0, -7.5)
    oGL("Rotate", 0, -30+sin(color!)/0.5, cos(color!))
    oGl("push")
    oGL("Texture", texture%[r!+2], 1)
    oGL("Quad", 13, 8)
    oGl("pop")
    oGL("Show")'Zeigt alle Objekte

ENDPROC

 
10.03.2017  
 




Georg
Teles
journée,

si Du bereits quelque chose Anderes Montrer veux au cours de qui Bilder geladen volonté, gibt es verschidene Opportunités:

Versuchen peux Du avec Multiprocessing de XProfan, dass un paralleler Prozess qui Bilder invite et qui primäre qui Animation übernimmt. Habe justement ne...aucune Beispiel sry.

Callback Funktion peux on sich aussi anschauen, habe malheureusement aussi ne...aucune Beispiel, muss bricoler.

Hab mais quoi entdeckt: chez qui Boucle entre SetTimer et KillTimer füge s'il te plaît un WaitInput, so nimmt dein Programme qui ganze Prozessorleistung
SetTimer 5'max. 50 Frames /sek.

WhileNot ende%'si aucun Abbruchbedingung erkannt wurde, durchlauf des Timers

    Waitinput'<- ici

    Si IsKey(27)'ist Abbruchbedingung "Escape-Taste" erfüllt, ensuite

        Ende% = 1'setzte Variable Ende% sur 1

    EndIf'et finis cet Abfrage

    'imprimer "noch un test"
    Cas position! < -100 : position! = 25'si Text derrière linkem Bildschirmrand verschwunden ensuite starte ihn wieder de Vorne
    Cas color! = 90 : color!=1'si Rotationswinkel 90Grad erreicht, ensuite sur 0 mettons
    OpenGL()'Zeichne derweil OpenGL

Endwhile'Springe trop WhileNot

KillTimer'finis pour 5ms den Minuteur ou bien besser dit: Springe pour 5ms wieder zum SetTimer
Fin
 
XProfan X3
TC-Programming [...] 
XProfan 8.0 - 10.0 - X2 - X3 - X4

10.03.2017  
 




Tango
allô aussi,

habe grad qui Aider prêt. Es billet comme wäre là Multiprocessing qui richtige Weg. Doch verstehe je pas wirklich quoi on là de mir veux.
mais je denke, dass je qui LadeProc qui Bilder dans un Modul packe, cela fonctionne ensuite parallèle zum Hauptprogramm et je peux ensuite qui Bilddaten à cela Hauptprogramm zur Laufzeit transfert.

vois je cela so richtig?

Verwirrend finde je là seulement qui Auzssage chez Multiprocessing et Callback, "Das Programme pouvoir seulement plus, si qui Prozess finissez ist".

avec cela habe je doch cela Gleiche dans vert ou bien?
 
10.03.2017  
 



Unterthema: Multiprozessing  [...]  erzeugt.
 
12.03.2017  
 



répondre


Topictitle, max. 100 marque.
 

Systemprofile:

ne...aucune Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

s'il te plaît s'inscrire um une Beitrag trop verfassen.
 

Options du sujet

7.075 Views

Untitledvor 0 min.
Member 862464128.03.2024
RudiB.07.10.2022
Michael Hettner02.09.2021
Glubbfan24.03.2021
plus...

Themeninformationen

cet Thema hat 2 participant:

Tango (4x)
Georg Teles (2x)


Admins  |  AGB  |  Applications  |  Auteurs  |  Chat  |  protection des données  |  Télécharger  |  Entrance  |  Aider  |  Merchantportal  |  Empreinte  |  Mart  |  Interfaces  |  SDK  |  Services  |  Jeux  |  cherche  |  Support

un projet aller XProfaner, qui il y a!


Mon XProfan
Privé Nouvelles
Eigenes Ablageforum
Sujets-La liste de voeux
Eigene Posts
Eigene Sujets
Zwischenablage
Annuler
 Deutsch English Français Español Italia
Traductions

protection des données


Wir verwenden Cookies seulement comme Session-Cookies à cause de qui technischen Notwendigkeit et chez uns gibt es aucun Cookies de Drittanbietern.

si du ici sur unsere Webseite klickst ou bien navigierst, stimmst du unserer Erfassung de Informationen dans unseren Cookies sur XProfan.Net trop.

Weitere Informationen trop unseren Cookies et en supplément, comment du qui Kontrolle par-dessus behältst, findest du dans unserer nachfolgenden Datenschutzerklärung.


d'accordDatenschutzerklärung
je voudrais keinen Cookie