Español
Foro

Ayuda! - Yo verzweifle langsam - Nachladen de Archivos en el Hintergrund

 

Tango
Jetzt bin I, con mi Latein al Ende. Yo bekomme lo simplemente no hin. ¿Cómo se puede Yo porque Archivos, Bilder, Textos en el Hintergrund nachladen? Geht el überhaupt y si sí, como? Mir fehlt simplemente el Ansatz dazu.

Alle Versuche el Yo gemacht habe legen sämtliche Animationen lahm a ellos geladen son.

¿Cómo se puede al prinzipiell lösen?
 
09.03.2017  
 




Georg
Teles
Tag,

sag veces genau, qué Usted antes hast, al besten con un Ejemplo y welche Profanversion Usted benutzt. Soweit Sé que, hay una Hilfedatei en xProfan en, such hay zB después de Bildhandle

Yo melde mich später, si yo daheim bin.

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

10.03.2017  
 




Tango
Georg Teles (10.03.2017)
Tag,

sag veces genau, qué Usted antes hast, al besten con un Ejemplo y welche Profanversion Usted benutzt. Soweit Sé que, hay una Hilfedatei en xProfan en, such hay zB después de Bildhandle

Yo melde mich später, si yo daheim bin.

Servus


¡Hola Georg,

Yo große Problemas mi Diashow en OpenGL-Base flüssig a betreiben. El oGL-Geschichte se ejecuta super y como Yo el pensamiento habe. Lade Yo nun una Bilderserie oder auch sólo una Bild, stoppt sämtliche Animation y zwar así largo a el/el Bild(él) geladen son/es. Danach klappt alles. Deshalb war mi Überlegung el Bilderserie ebend en el Hintergrund en el Speicher a invitar während el Animation en el Vordergund ya se ejecuta y algo Anderes Espectáculos como el Bilder.

Yo hänge veces media kompletten Wurstel-Test-Code a.

Wen Usted el Testest lege veces en el Programmverzeichnis el folgenden Ordner a:

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

y una Ordner nombre Sound y packe hay una mp3 con "1.mp3" hinein.

Achso: Yo benutze Xprofan 3.1
Var anzahl% = 0
Var position! = 25
Var color! = 0
Declarar hfont&, font&
Declarar Ende%, el%'Variable para Abbruchbedingung
Declarar pos!, rot!'Positions- y RotationsVariablen
Declarar textur%, kugel#
Declarar texture%[500]
Declarar time&
declarar r!
'Legt el Fensterform fest
'Ventana de Estilo 64 + 16                                                                            'Ventana sin Rahmen y
Ventana %MaxX, %MaxY'Ventana a Desktopauflösung adaptar
CLS 0
'Initialisiert OpenGL
oGL("Init", %hWnd, 0, 0, 0, 0)
oGL("BlendMode",1)
'oGL("LoadXPGL", "Linie.xpgl")                                                                   'Lädt Linienpunkte de Expediente Linie.xpgl
'oGL("UseXPGL", 1)                                                                               'Verwendet esta Linienpunkte
'Legt Lauftschrift fest
hfont& = create("Font", "Courier New", 32, 0, 0, 10, 0)'Lädt Font en Variable hfont&
font& = oGL("OutlineFont", hfont&, 0.3)'Weist hfont& oGL a
deleteobject hfont&'Zerstört Objeto hfont& otra vez, porque lo después de Zuweisung no mehr benötigt se
Directorio 1'Liest Bilddaten una
'Spielt Mukke de
MIDI("Play", $PROGDIR + "Sound\" + "1.mp3", -1)
SetTimer 5'max. 50 Frames /sek.

Sinestar encargado ende%'Wenn no Abbruchbedingung erkannt wurde, durchlauf des Timers

    If IsKey(27)'es Abbruchbedingung "Escape-Taste" erfüllt, entonces

        Ende% = 1'setzte Variable Ende% en 1

    EndIf'y beende esta Abfrage

    'imprimir "noch una test"
    Case position! < -100 : position! = 25'Wenn Texto hinter linkem Bildschirmrand verschwunden entonces starte ihn otra vez de Vorne
    Case color! = 90 : color!=1'Wenn Rotationswinkel 90Grad erreicht, entonces en 0 conjunto
    OpenGL()'Zeichne derweil OpenGL

EndWhile'Springe a Sinestar encargado

KillTimer'Beende después de 5ms el Temporizador oder mejor dijo: Springe después de 5ms otra vez para SetTimer
End

Proc Directorio

    Parámetros Folder$'El Parameterübergabe des aktuellen Verzeichnisses
    Var counter% = 0 : Var i% = 0'Zählvariablen para Einlesen el Bilder
    Declarar Expediente$, bild&'Expediente y Bildnummer
    Declarar Pfad$, Bilder$'Pfad des aktuellen Verzeichnisses y Bilddaten en Vaiable speichern
    'Bildverzeichnis Initialisieren
    Pfad$ = $PROGDIR + "Bilder\" + Folder$ + "\"
    ChDir Pfad$
    Pfad$ = Pfad$ + "*.jpg"
    Bilder$ = FindFirst$(Pfad$)
    AddFiles bilder$
    'sucht después de Bilder y weist Diese el Variable Bilder$ a

    Sinestar encargado %IOResult

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

    EndWhile

    'ordnet el geladenen Bilder el TexturArray a

    whilenot anzahl% = counter%

        DATEI$ = ListBoxItem$(anzahl%)
        bild& = Crear("hsizedPic",-1,  Expediente$,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)                                                               'Setzt Position el XPGL-Linien
    '		oGL("DrawXPGL", 0, 4)                                                                       'Zeichnet ebend esta 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#)

    if &GetTickCount - time& >= 5000'5 Sekunden son rum

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

    endif

    'Bilder Laden
    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")'Espectáculos todos Objetos

ENDPROC

 
10.03.2017  
 




Georg
Teles
Tag,

si ya algo Anderes Mostrar willst während el Bilder geladen voluntad, hay verschidene Möglichkeiten:

Versuchen kannst Usted con Multiprocessing de XProfan, que un paralleler Prozess el Bilder lädt y primäre el Animation übernimmt. Posesiones gerade kein Ejemplo sry.

Callback Función puede ser se auch anschauen, habe desafortunadamente auch kein Ejemplo, muss remendar.

Hab aber qué entdeckt: en Bucle zwischen SetTimer y KillTimer füge Por favor, una WaitInput, así nimmt dein Programa el todo Prozessorleistung
SetTimer 5'max. 50 Frames /sek.

Sinestar encargado ende%'Wenn no Abbruchbedingung erkannt wurde, durchlauf des Timers

    Waitinput'<- hier

    If IsKey(27)'es Abbruchbedingung "Escape-Taste" erfüllt, entonces

        Ende% = 1'setzte Variable Ende% en 1

    EndIf'y beende esta Abfrage

    'imprimir "noch una test"
    Case position! < -100 : position! = 25'Wenn Texto hinter linkem Bildschirmrand verschwunden entonces starte ihn otra vez de Vorne
    Case color! = 90 : color!=1'Wenn Rotationswinkel 90Grad erreicht, entonces en 0 conjunto
    OpenGL()'Zeichne derweil OpenGL

EndWhile'Springe a Sinestar encargado

KillTimer'Beende después de 5ms el Temporizador oder mejor dijo: Springe después de 5ms otra vez para SetTimer
End
 
XProfan X3
TC-Programming [...] 
XProfan 8.0 - 10.0 - X2 - X3 - X4

10.03.2017  
 




Tango
¡Hola auch,

habe grad el Ayuda bemüht. Lo schein como wäre como Multiprocessing el richtige Weg. Doch verstehe Yo no wirklich qué hay de me voluntad.
Aber Yo denke, dass Yo el LadeProc el Bilder en una Modul packe, el se ejecuta entonces parallel para Hauptprogramm y yo kann entonces el Bilddaten a el Hauptprogramm a Laufzeit transferencia.

Sehe Yo el así correcto?

Verwirrend finde Yo como sólo el Auzssage en Multiprocessing y Callback, "Das Programa macht sólo más, si la Prozess final ist".

Damit Yo doch el Gleiche en Grün oder?
 
10.03.2017  
 



Unterthema: Multiprozessing  [...]  producido.
 
12.03.2017  
 



Respuesta


Título del Tema, max. 100 Signo.
 

Systemprofile:

Kein Systemprofil creado. [anlegen]

XProfan:

 Contribución  Font  Smilies  ▼ 

Bitte registro en una Contribución a verfassen.
 

Tema opciones

7.026 Views

Untitledvor 0 min.
Member 862464128.03.2024
RudiB.07.10.2022
Michael Hettner02.09.2021
Glubbfan24.03.2021
Más...

Themeninformationen

Dieses Thema ha 2 subscriber:

Tango (4x)
Georg Teles (2x)


Admins  |  AGB  |  Applications  |  Autores  |  Chat  |  Política de Privacidad  |  Descargar  |  Entrance  |  Ayuda  |  Merchantportal  |  Pie de imprenta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Juegos  |  Búsqueda  |  Support

Ein Projekt aller XProfan, el lo son!


Mi XProfan
Privado Noticias
Eigenes Ablageforum
Temas-Merkliste
Eigene Beiträge
Eigene Temas
Zwischenablage
Cancelar
 Deutsch English Français Español Italia
Traducciones

Política de Privacidad


Wir uso Cookies sólo como Session-Cookies wegen el technischen Notwendigkeit y en uns hay no Cookies de Drittanbietern.

Wenn du hier en unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung de Informationen en unseren Cookies en XProfan.Net a.

Weitere Informationen a unseren Cookies y dazu, como du el Kontrolle darüber behältst, findest du en unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Yo möchte no Cookie