Jump to content
Unity Insider Forum

App-Lagg


B.J

Recommended Posts

Hi Leute

 

Ich hab in den letzten Tagem ma ein kleines Handy-Spiel mit 9 Leveln entwickelt und es mir als APK Datei auf dem Handy installiert. Grundsätzlich läuft alles prima, aber die Level laggen sehr stark und ich habe ein 2D Spiel gemacht, das nicht extrem viel Leistung braucht. Andere Spiele sind weitaus grösser und grafisch aufwendiger als mein Spiel und die laufen auf dem Handy viel besser als meins.

 

Nun wollte ich ma fragen wie man soetwas beheben kann?

 

Danke...

Link zu diesem Kommentar
Auf anderen Seiten teilen

Mhmm...

 

es ist sehr schwer dir hierbei zu helfen, da wir nicht die Dimension des Levels hier sehen. Ich werfe hier mal brocken rein die du vielleicht checken kannst.

 

- deine Scripts

- deine Graphic-Sizes

- deine Effekte(ImageEffekt)

- unnötige berechnungen

 

Mit freundlichen Grüßen

Link zu diesem Kommentar
Auf anderen Seiten teilen

Was für Scripts du in deinem Level am laufen hast ein Screenshot von deinem Level und eine erklärung wo es genau lagt(z.b. wen du läuft, ein schalter umlegst...) und dan können wir deine schwachstelle analyseriern und ausmerzen.

 

Mit freundlichen Grüßen

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hmm ok also in meinem Level muss man nicht laufen sondern der Player hat einen konstante Geschwindikeit und man muss Objekten ausweichen:

 

using UnityEngine;

using System.Collections;

public class NewBehaviourScript : MonoBehaviour

{

// Use this for initialization

void Start ()

{

}

 

// Update is called once per frame

void Update ()

{

transform.position = new Vector3(transform.position.x+0.1f,transform.position.y,transform.position.z);

}

}

 

das Problem ist einfach, das der Spieler viel zu langsam ist als er sein sollte. Wenn ich das Spiel auf dem Computer laufen lasse, läuft aber alles richtig. Ich vermute deshalb, das mein Handy die Leistung nicht bringt, sie aber eig. bringen sollte den andere Spiele laufen ja. Mein Level ist auch nicht grossartig leistungsfressend:

post-4494-0-42105600-1399132857_thumb.png

Link zu diesem Kommentar
Auf anderen Seiten teilen

hi :)

 

schau dir mal das hier an

https://docs.unity3d...-deltaTime.html

 

float translation = Time.deltaTime * 10;
transform.position = new Vector3(transform.position.x+translation,transform.position.y,transform.position.z);

 

ungetestet :)

 

edit : es gibt für time. verschiedene versionen : https://docs.unity3d.com/Documentation/ScriptReference/Time.html

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hmmm aber ich glaube nicht, das der Lagg am Script liegt(Ich bin kein Unity -Profi und werde auch gerne eines besseren belehrt..) denn auf dem Tablet und auf dem Computer funkzioniert die App ja. Auch vermute ich nicht das das Handy die Leistung nicht bringt.Kann es sein, das es einfach die Daten nicht richtig anwendet und das Spiel falsch laufen lässt oder so ähnlich....?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Das Snippet vom Schlumpf bewirkt, dass diene Figur auch, wenn du weniger Bilder die Sekunde renderst, dieselbe Geschwindigkeit hat.

Hast Du auf dem PC 120 FPS und auf dem Handy 12 FPS, wird trotzdem relativ zur Zeit derselbe Wert berechnet.

 

Das hört sich schon sehr nach dem "Problem" an.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Erreiche ich den gleichen Effekt auch so?Also wenn ich auf fixed Update stelle

 

using UnityEngine;

using System.Collections;

public class NewBehaviourScript : MonoBehaviour

{

// Use this for initialization

void Start ()

{

}

// Update is called once per frame

fixed Update ()

{

transform.position = new Vector3(transform.position.x+0.1f,transform.position.y,transform.position.z);

}

}

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich habs mir in der Zwischenzeit angesehen und irgendwie verstehe ich das nicht. Wäre jemand so nett mir zu zeigen wie man das mit der time.deltaTime in meinem Script einbaut(mit Erklärung sonst versteh ichs nicht:) )Also so das die Geschwindikeit die selbe ist egal wie viele FPS das Gerät hat, mit dem ich spiele.

Link zu diesem Kommentar
Auf anderen Seiten teilen

bisl was musst schon selber machen :)

 

https://docs.unity3d...rence/Time.html

steht was was macht und das blaue sind links mit beispielen

 

 

captureFramerate Slows game playback time to allow screenshots to be saved between frames

deltaTime The time in seconds it took to complete the last frame (Read Only).

fixedDeltaTime The interval in seconds at which physics and other fixed frame rate updates (like MonoBehaviour's FixedUpdate) are performed

fixedTime The time the latest FixedUpdate has started (Read Only). This is the time in seconds since the start of the game

frameCount The total number of frames that have passed (Read Only

maximumDeltaTime The maximum time a frame can take. Physics and other fixed frame rate updates (like MonoBehaviour's FixedUpdate

realtimeSinceStartup The real time in seconds since the game started (Read Only

smoothDeltaTime A smoothed out Time.deltaTime (Read Only

time The time this frame has started (Read Only). This is the time in seconds since the start of the game

timeScale The scale at which the time is passing. This can be used for slow motion effects

timeSinceLevelLoad The time this frame has started (Read Only). This is the time in seconds since the last level has been loaded.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Kann es sein, das ich es so machen muss?

 

 

var speed: float = 10;

function Update(){

// move the object forward/backward at speed units per second:

transform.Translate(transform.forward * speed * Input.GetAxis("Vertical") * Time.deltaTime);

}

Link zu diesem Kommentar
Auf anderen Seiten teilen

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Lädt...
×
×
  • Neu erstellen...