Hallo ihr lieben,
Ich habe hier eine Surface zur Verfügung und der Raumgröße beträgt 2048x2048. Da jeder Level ein andere Raumgröße gibt, gibt es Probleme bei Surface: Je größer der Raum ist, desto ruckelt es mehr.
Das ist ja schon irgendwie klar, das es mehr laggt, wenn man "surface_create(room_width,room_height)" macht:
Alles anzeigen
Hat jemand eine Idee, wie ich das am besten machen kann? Der Objekt (Wie Munition, Einschlagskrater, Blut, tote Enemys) wird einmal auf Surface gezeichnet und dann wird der Objekt gelöscht aber bei Surface ist es immer noch zu sehen und so möchte ich es auch haben. Daher bringt surface_create(view_wview[0],view_hview[0] nicht weiter.
Warum ich Objekt lösche? >> Es macht ja sinnlos, wenn jeder Blutspuren, Munitionen, Einschlagskrater etc. aus Objekt besteht und nie gelöscht wird (und das ist Performancelastig), daher macht es viel mehr Sinn, wenn man das auf Surface zeichnet... nur Surface ist gerade auch nicht Performancefriedlich...
Gibt es da noch eine andere Möglichkeiten?
Auf Antwort würde ich mich sehr freuen!
Gruß, China
Ich habe hier eine Surface zur Verfügung und der Raumgröße beträgt 2048x2048. Da jeder Level ein andere Raumgröße gibt, gibt es Probleme bei Surface: Je größer der Raum ist, desto ruckelt es mehr.
Das ist ja schon irgendwie klar, das es mehr laggt, wenn man "surface_create(room_width,room_height)" macht:
GML-Quellcode
- if surface_exists(surf){
- draw_surface(surf,0,0);
- if instance_exists(objDecal){
- surface_set_target(surf);
- with(objDecal){
- if speed < 0.1{
- if dist > 0 draw_sprite_ext(sprite_index,image_index, x + dist, y+dist, image_xscale,image_yscale, image_angle,c_black, 0.3)
- draw_sprite_ext(sprite_index,image_index, x, y, image_xscale,image_yscale, image_angle,c_white, 1)
- instance_destroy();
- }
- }
- surface_reset_target();
- }
- }
- else
- {
- surf = surface_create(room_width,room_height);
- surface_set_target(surf);
- draw_clear_alpha(c_black, 0);
- surface_reset_target();
- }
Hat jemand eine Idee, wie ich das am besten machen kann? Der Objekt (Wie Munition, Einschlagskrater, Blut, tote Enemys) wird einmal auf Surface gezeichnet und dann wird der Objekt gelöscht aber bei Surface ist es immer noch zu sehen und so möchte ich es auch haben. Daher bringt surface_create(view_wview[0],view_hview[0] nicht weiter.
Warum ich Objekt lösche? >> Es macht ja sinnlos, wenn jeder Blutspuren, Munitionen, Einschlagskrater etc. aus Objekt besteht und nie gelöscht wird (und das ist Performancelastig), daher macht es viel mehr Sinn, wenn man das auf Surface zeichnet... nur Surface ist gerade auch nicht Performancefriedlich...
Gibt es da noch eine andere Möglichkeiten?
Auf Antwort würde ich mich sehr freuen!
Gruß, China
Ihr stinkt.
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Chinafreak ()