Jump to content

Problem mit MBS läuft im Hintergrund.


EASY

Empfohlene Beiträge

Hallo @Neo,

gibt es einen Unterschied, ob das MBS im aktiven Fenster läuft oder in einem Hintergrundfenster?
Ich wollte wissen ob mein derzeitigen Projekt "Ablaufberg" stabil läuft und habe es eine zeitlang laufen lassen... ohne Probleme. Dann habe ich etwas anderes gemacht und das MBS lief im Hintergrund... und hat sich im zeitlichen Ablauf vertan und ein leichtes Chaos angerichtet. Wieder als Vordergrundfenster läuft es über einen längeren Zeitpunkt fehlerfrei.

Gruß
EASY

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo EASY,

das Studio selbst unterscheidet nicht zwischen aktivem und inaktivem Fenster. Allerdings teilt Windows aktiven Fenstern mehr Ressourcen zu, weshalb ein inaktives Studio mitunter langsamer laufen könnte. Bisher sind in diesem Zusammenhang aber noch keine Probleme bekannt, das Studio kommt für gewöhnlich auch mit niedrigen FPS zurecht.

Eventuell ist deine Ablaufberg-EV etwas zu sehr zeitabhängig, ich habe sie mir bisher noch nicht angeschaut.

Viele Grüße,

Neo

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo Neo,

vor 39 Minuten schrieb Neo:

Eventuell ist deine Ablaufberg-EV etwas zu sehr zeitabhängig

ich habe es mir noch einmal angeschaut. Der Fehler ist in einer "deferredCall" Schleife aufgetreten. Die Verzögerung von "defer" beträgt 0.5 Sekunden es wurde aber nicht auf eine Marke von "elseif deferredCall" gesprungen.

......

defer(0.5,"verz0") 	
elseif deferredCall=="verz0" then -- -> Diese Marke wurde noch ausgeführt
 vehicle.targetSpeed=20*vehicle.variables["Richtung"]
defer (0.5,"verz1")
elseif deferredCall=="verz1" then         -- -> Diese Marke wurde übergangen!!!
    if vehicle.variables["Posvorne"] then
    vehicle.targetSpeed=30*vehicle.variables["Richtung"]
    else
    for i,v in ipairs(LS)do
      if v:isLocatedOn(GLS[i]) then
      LSaktiv=i
      break
      end
    end
    LS[LSaktiv].transformation.position=vehicle.variables["Stop"].transformation.position
    vehicle.variables["LSaktiv"]=LSaktiv
    $("Dein"):add(vehicle)
  end
  defer(2,"verz2")
elseif deferredCall=="verz2" then -- -> und diese Marke (logischerweise) nie erreicht
 if Daus.count > 0 then
  Daus:release(math.random(0, Daus.count - 1),$("Depot Neu"))
  Naus=Naus-1
 end
end

Gruß
EASY

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo Neo,

vor 10 Stunden schrieb Neo:

kannst du hier ein Problem reproduzieren bzw. die Stellen soweit isolieren, dass du daraus eine Beispielanlage baust?

... so wie es sich für einen ordendlichen Fehler gehört, möchte er sich nicht reproduzieren lassen.
Ich habe die Anlage auf den Teil reduziert, der Probleme bereitet hat...
Ablaufberg20-Fehler.mbp

Was mir noch eingefallen ist... kann es ein Problem sein, daß die Anlage mit "doppelter Geschwindigkeit" gelaufen ist?

Gruß
EASY

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren

Du musst ein Benutzerkonto besitzen, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen.

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde dich hier an.

Jetzt anmelden
×
×
  • Neu erstellen...