Threaded App's
Übersicht

![]() |
juse4proBetreff: Threaded App's |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo,
woltle mich heute mal mit threaded applications auseinandersetzten, aber als ich in mein b max ordner geschaut habe, habe ich bemerkt, dass ich kein pub.thread modul habe, wo kriege ich das her? |
||
Portfolio |LinkedIn |XING |
![]() |
BtbN |
![]() Antworten mit Zitat ![]() |
---|---|---|
BRL.Threads | ||
![]() |
juse4pro |
![]() Antworten mit Zitat ![]() |
---|---|---|
OH, sry, das ist ja im BRL ordner, ich dachte pub, wegen import: pun.thread....
danke ![]() noch ne frage: obwohl ich jetzt diese beispiel mal gestestet angeguckt habe, funktioniert es nicht, habe auch die module ge"build"et BlitzMax: [AUSKLAPPEN] 'Den Thread Mod mit Compilen EDIT2: und dann noch das: Code: [AUSKLAPPEN] Building Modules
Compiling:freeaudio.cpp Build Error: failed to compile C:/Programme/BlitzMax/mod/pub.mod/freeaudio.mod/freeaudio.cpp Process complete was denn nu los? hat schon 3mal funktioniert |
||
Portfolio |LinkedIn |XING |
![]() |
amon |
![]() Antworten mit Zitat ![]() |
---|---|---|
Nur zur Vollständigkeit - Du musst die Module zweimal erstellen, einmal mit der threaded und einmal normal
also "bmk makemods -a" und einmal "bmk makemods -a -h" |
||
![]() |
juse4pro |
![]() Antworten mit Zitat ![]() |
---|---|---|
oh, danke
soweit so gut, aber habe mir mal selbst ein beispiel angefertigt: Code: [AUSKLAPPEN] SuperStrict Graphics 640,480,0,60 Local t1:TThread = CreateThread(laden_t, "wasn") Global Ready:Byte Global fps:TTimer =CreateTimer(60) 'laden Function laden() Ready=0 Print "BLAA!!!" Ready=1 End Function 'anzeige Function laden_t:Object(data:Object) Local dir:Float Repeat dir=dir+Abs(Sin(MilliSecs()/32))*2 DrawRect(320,240,50,10) WaitTimer(fps);Flip(0);Cls Until Ready End Function laden() hier stürzt das ding einfach ab, es wird einmal BLAA!! geprintet, dann: Windows hat ein problem festgestellt, blala, kennt ihr ja ![]() why? EDIT: ok hab's, ich hab das return vergessen ![]() EDIT2: aber es zeigt garnichts an, wieso? habe doch graphics und flip und cls |
||
Portfolio |LinkedIn |XING |
![]() |
kog |
![]() Antworten mit Zitat ![]() |
---|---|---|
Zeichnen kannst du soweit ich weiss, glaube ich nur im MainThread | ||
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Jop, die Module von BMax sind nicht Threadsafe, daher empfiehlt es sich alle erweiterten Sachen nur im MT zu machen. Ich habe allerdings keine Probleme damit gehabt Images in einem Thread zu laden und sie im Main rendern zu lassen. | ||
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3 Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64 B3D BMax MaxGUI Stolzer Gewinner des BAC#48, #52 & #92 |
![]() |
BtbN |
![]() Antworten mit Zitat ![]() |
---|---|---|
du kannst Pixmaps in einem anderen Thread laden und an den MainThread geben, aber images nicht, da sie eine Textur erzeugen, und der kontext nur im MainThread existiert. | ||
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Da muss ich widersprechen, btbn, ich hatte es zwar erst mit Pixmaps gemacht, aber es hat auch mit Timage ohne jedes Problem funktioniert. | ||
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3 Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64 B3D BMax MaxGUI Stolzer Gewinner des BAC#48, #52 & #92 |
![]() |
BtbN |
![]() Antworten mit Zitat ![]() |
---|---|---|
Dann wird er intern gemerkt haben, dass die Texur ungültig/noch nicht geladen ist. Aber OpenGL-Technisch ist es nicht möglich, nur durch irgendwelche basteleien in Max2D. | ||
![]() |
juse4pro |
![]() Antworten mit Zitat ![]() |
---|---|---|
also ich habe jetzt mein MainThread, der lädt in globale variablen, und ich habe einen thread, welcher ne animation abspielt (mit Max2D: skalieren alpha, usw) und es funktioniert
danke leute ![]() keine doofen lade-hänger mehr allerding gibt es einen compile error, wenn ich das in mein extra-ladeBILDSCHIRM-thread einfüge: Code: [AUSKLAPPEN] Local 4sev_over:Int=MilliSecs()+4000
der compiler sagte, es müsse eine variable vom typ integer-literal sein, was bedeutet das? EDIT: ok hab hinbekommen, ich hatte ne zahl in der variable, um genau zu sein sogar am anfang, und das geht nicht, danke nochmal für eure hilfe... |
||
Portfolio |LinkedIn |XING |
![]() |
BtbN |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich hoffe, du sicherst alle geteilten resourcen mit nem Mutex ab? Sonst fliegt dir das ganze schneller um die Ohren, als du gucken kannst. | ||
![]() |
Der Eisvogel |
![]() Antworten mit Zitat ![]() |
---|---|---|
Bei mir gibt es das Modul iwi garnicht. Muss ich mir das runterladen? | ||
Ungarische Notation kann nützlich sein.
BlitzMax ; Blitz3D Win 7 Pro 64 Bit ; Intel Core i7-860 ; 8 GB Ram ; ATI HD 5750 1 GB Projekte: Window-Crasher Ich liebe es mit der WinAPI zu spielen. |
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
BRL.Threads sollte seit 1.32 dabei sein, wenn ich nicht irre.
Vielleicht mal Zeit deine Installation auf den neusten Stand zu bringen ![]() |
||
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3 Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64 B3D BMax MaxGUI Stolzer Gewinner des BAC#48, #52 & #92 |
![]() |
Der Eisvogel |
![]() Antworten mit Zitat ![]() |
---|---|---|
Oh stimmt, habe noch 1.30. | ||
Ungarische Notation kann nützlich sein.
BlitzMax ; Blitz3D Win 7 Pro 64 Bit ; Intel Core i7-860 ; 8 GB Ram ; ATI HD 5750 1 GB Projekte: Window-Crasher Ich liebe es mit der WinAPI zu spielen. |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group