CopyEntity => Speicherauslastung viel zu hoch!
Übersicht

![]() |
Dice of DarknessBetreff: CopyEntity => Speicherauslastung viel zu hoch! |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo zusammen,
ich bin noch recht neu in Sachen 3D-Programmierung und hab heute mal versucht, ein Objekt (eine Palme) mehrmals auf meinem Terrain zu platzieren mittels CopyEntity. Das Problem ist nur, dass mein Rechner schon bei einer (!) neu erstellten Palme komplett in die Knie geht und total anfängt zu ruckeln... Hier der Code: Code: [AUSKLAPPEN] Graphics3D 1024,768,16,1
SetBuffer BackBuffer() Global light = CreateLight(1) Global spotlight = CreateLight(3) Global camera = CreateCamera() Global palmtree = LoadMesh("Palmtree.3ds") Global palmtree_2 = LoadMesh("Palmtree.3ds") Global mushroom = LoadMesh("Mushroom.3ds") Global sky = LoadMesh("Sky_sphere.3ds") Global laken = LoadMesh("Laken.3ds") Global Heightmap = LoadTerrain("Heightmap_Test.bmp") Global Back_tex = LoadTexture("Back.bmp") EntityTexture Heightmap,Back_tex PositionEntity palmtree,1,0,1 PositionEntity palmtree,10,0,10 PositionEntity mushroom,2,0,2 PositionEntity sky,4,0,4 PositionEntity laken,12,0.1,5 PositionEntity camera,10,3,10 RotateEntity camera,0,135,0 RotateEntity sky,0,135,0 PositionEntity spotlight,1,0,1 While Not KeyHit(1) UpdateWorld() RenderWorld() MoveObject() KeyCheck() PlaceEntities() Flip Wend End Function MoveObject() If KeyDown(200) Then ;up ;MoveEntity object1,0,0,-0.1 MoveEntity camera,0,0,0.1 MoveEntity sky,0,0,0.1 ElseIf KeyDown(208) Then ;down ;MoveEntity object1,0,0,0.1 MoveEntity camera,0,0,-0.1 MoveEntity sky,0,0,-0.1 ElseIf KeyDown(203) Then ;left ;TurnEntity object1,0,0.7,0 TurnEntity camera,0,0.7,0 TurnEntity sky,0,0.7,0 ElseIf KeyDown(205) Then ;right ;TurnEntity object1,0,-0.7,0 TurnEntity camera,0,-0.7,0 TurnEntity sky,0,-0.7,0 ElseIf KeyDown(57) Then ;space MoveEntity camera,0,0.1,0 MoveEntity sky,0,0.1,0 ElseIf KeyDown(28) Then ;enter MoveEntity camera,0,-0.1,0 MoveEntity sky,0,-0.1,0 EndIf End Function Function KeyCheck() Color 255,255,255 Text 0,0,"[Pfeiltaste Oben] => nach vorne" Text 0,15,"[Pfeiltaste Unten] => nach hinten" Text 0,30,"[Pfeiltaste Rechts] => Rechtsschwenk" Text 0,45,"[Pfeiltaste Links] => Linksschwenk" Text 0,60,"[Space] => Hochfahren" Text 0,75,"[Enter] => Runterfahren" End Function Function PlaceEntities() ;For i = 1 To 1 CopyEntity(palmtree) PositionEntity palmtree,15,0,15 ;Next End Function An dem Objekt selbst kann es kaum liegen, denn ich habe (=>siehe Code) nur so zum Test ein zweites Objekt mit dem Namen "palmtree_02" erstellt, das also genau das gleiche Objekt ist wie die erste Palme ("palmtree"), und da funktioniert es einwandfrei (das war also mein Test, ob es daran liegen würde, dass das Objekt mehrmals platziert wird, was aber nicht weiter problematisch war). Kann es sein, dass ich den Befehl irgendwie falsch verwende oder einen ganz anderen Fehler drin habe? Ich habe schon versucht, mit der Suche eine Lösung zu finden, aber da wurde immer nur empfohlen, eher "CopyEntity" als "CopyMesh" zu verwenden, woraus ich leider nicht so ganz schlau wurde... Wär echt nett, wenn ihr mir helfen könntet! ![]() mfg Dice of Darkness PS: Achso, noch etwas ist mir aufgefallen: Ich habe die Kamera so ausgerichtet, dass sie am Anfang auf die "per Hand" erstellte Palme ausgerichtet ist. Wenn ich die Kamera dann drehe, läuft alles noch ruckelfrei, bis die neu erstellte Palme im Bild sichtbar wird; dann ruckelt es auf einmal... |
||
Gratis Spiele, Musik, Tools |
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Du kopierst die Palme ca. 60 mal in der Sekunde so wie es jetzt aussieht -> das hält kein Rechner wirklich lange aus. PlaceEntities() vor die Hauptschleife wäre besser ![]() |
||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
![]() |
Dice of Darkness |
![]() Antworten mit Zitat ![]() |
---|---|---|
Super vielen Dank Xeres, das mit der Hauptschleife hatte ich nicht bedacht (und ich hab schon befürchtet, ich müsste in Zukunft jedes Objekt, das mehr als einmal vorkommt, neu benennen und platzieren ![]() Danke nochmal ![]() |
||
Gratis Spiele, Musik, Tools |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group