Du bist nicht angemeldet.

Werbeanzeige

Architekt

Community-Fossil

Beiträge: 2 490

Wohnort: Hamburg

Beruf: Student

  • Private Nachricht senden

1 821

22.11.2015, 22:43

Seit 2006/2007 oder? Die neue Verpackung ist furchtbar. :/ Kein Rascheln mehr und nicht mehr wiederverschließbar.
Der einfachste Weg eine Kopie zu entfernen ist sie zu löschen.
- Stephan Schmidt -

Schorsch

Supermoderator

Beiträge: 5 196

Wohnort: Wickede

Beruf: Student

  • Private Nachricht senden

1 822

26.11.2015, 12:55

Seit 2006/2007 oder? Die neue Verpackung ist furchtbar. :/ Kein Rascheln mehr und nicht mehr wiederverschließbar.

Das waren noch Zeiten:) Aber ich überlege grad. Das gibt es echt gar nicht mehr oder? An sich ists ja auch gar nicht so doof. Unnötig Aluminium verbraten muss ja auch nicht sein.
„Es ist doch so. Zwei und zwei macht irgendwas, und vier und vier macht irgendwas. Leider nicht dasselbe, dann wär's leicht.
Das ist aber auch schon höhere Mathematik.“

Architekt

Community-Fossil

Beiträge: 2 490

Wohnort: Hamburg

Beruf: Student

  • Private Nachricht senden

1 823

26.11.2015, 13:06

Das knistern war schon nett. Aber lagert sich wohl auch in der Schokolade und damit in uns ab.
Der einfachste Weg eine Kopie zu entfernen ist sie zu löschen.
- Stephan Schmidt -

MitgliedXYZ

Alter Hase

Beiträge: 1 375

Wohnort: Bayern

  • Private Nachricht senden

1 824

26.11.2015, 20:12

Das knistern war schon nett. Aber lagert sich wohl auch in der Schokolade und damit in uns ab.
Ob da das Plastik so viel gesünder ist...

Einige Lindt Tafeln sind noch mit Alu verpackt. Da zahlt man dann aber auch das dreifache im Vergleich zu Ritter Sport und Milka.

Jaiel

Alter Hase

Beiträge: 1 164

Wohnort: Berlin

Beruf: Student Ang. Informatik

  • Private Nachricht senden

1 825

26.11.2015, 20:47

Ich hab schon lange keine Schokolade mehr gekuft....meint ihr die Folien? Sind die verschwunden doer was?

Superwayne

Treue Seele

Beiträge: 243

Beruf: Student & App Entwickler (Xamarin)

  • Private Nachricht senden

1 826

02.12.2015, 00:47

Nach drei Stunden Laufzeitoptimierung endlich auf die Idee gekommen, meine Mesh- und Collider-Generierung für die Spielwelt zu deaktivieren, bis der Inhalt der Welt fertig berechnet wurde. :crazy:
Die Initialisierung dauert damit statt 32 Sekunden nur noch 1,4 Sekunden. :D

drakon

Supermoderator

Beiträge: 6 524

Wohnort: Schweiz

Beruf: Entrepreneur

  • Private Nachricht senden

Superwayne

Treue Seele

Beiträge: 243

Beruf: Student & App Entwickler (Xamarin)

  • Private Nachricht senden

1 828

02.12.2015, 10:02

Mein "Profiler" nennt sich System.DateTime.Now und Debug.Log() :whistling:
Ne, Spaß beiseite, mit dem Thema Profiler habe ich mich noch nicht beschäftigt. Ich habe lediglich bemerkt, dass die Initialisierung zu lange dauert und dann direkt die Zeit gemessen und verglichen.
Macht es Sinn, sich schon am Anfang der Entwicklung mit dem Thema zu befassen? Ich versuche das Projekt möglichst Modular aufzubauen, so dass ich einzelne Komponenten (zum Beispiel die Noise Klasse) später optimieren oder komplett austauschen kann.

Sacaldur

Community-Fossil

Beiträge: 2 326

Wohnort: Berlin

Beruf: FIAE

  • Private Nachricht senden

1 829

02.12.2015, 10:48

Grundsätzlich spricht nichts gegen Modularität, allerdings kann eine schlecht gewählte Schnittstelle einer optimalen Nutzung im Wege stehen. Bei einem Array ist es egal, ob man erst prüft, ob ein Element enthalten ist (Suche nach Index) und dann anhand des Index das Element abruft, bei einer verketteten Liste könnte das dazu führen, dass die Liste doppelt durchlaufen wird, wenn beim 2. Aufruf nur der Index übergeben wird, ohne dass das Listenelement zwischengespeichert wurde.
Sinnvoll wäre es, wenn entsprechende Implementierungen einen Iterator zur Verfügung stellen würden, anhand dessen alle Elemente der Liste abgelaufen werden könnten, da so geprüft werden kann, ob das Element enthalten ist, um es direkt verwenden zu können.

Das würde aber wieder den Vorteil sortierter Listen/Bäume/... zu Nichte machen, da in diesen schneller gesucht werden kann, wenn man davon ausgehen kann, dass alle Elemente immer sortiert sind, also wenn die Suche innerhalb der Liste durchgeführt wird.
Eine Lösung dafür wäre es, eine "TryGet"-Methode zu implementieren, deren Rückgabe aussagt, ob ein entsprechendes Element enthalten ist, damit über eine(n) übergebene(n) Referenz/Pointer das Element selbst zurückgegeben werden kann. Letzteres wird nicht in allen Sprachen direkt unterstützt, ließe sich aber über einen kleineren Umweg (Rückgabe beider Informationen in einem einzigen Objekt) erreichen.


Wenn man Performnce-kritischen Code schreibt, ist es offensichtlich, dass man sich möglichst frühzeitig auch ansehen sollte, an welchen Stellen wie viel Zeit verbraucht wird. Wenn man sich den Profiler aber auch schon "vorher" ansieht, wird man tendenziell auch davon abgehalten, (aus Performancesicht) schlechten Code zu schreiben. Sinn macht es also.
Spieleentwickler in Berlin? (Thema in diesem Forum)
---
Es ist ja keine Schande etwas falsch zu machen, als Programmierer tu ich das täglich, [...].

Superwayne

Treue Seele

Beiträge: 243

Beruf: Student & App Entwickler (Xamarin)

  • Private Nachricht senden

1 830

02.12.2015, 12:00

Wirklich Performance-Kritisch ist mein Code nicht. Ich weiß, dass meine Noise-Implementierung ca. 10x so lange braucht, wie die Unity PerlinNoise Methode. Allerdings liefert meine Implementierung "bessere" Ergebnisse für mein Spiel, da ich mehr Parameter beinflussen kann. Und da die Implementierung für meine Zwecke immer noch schnell genug läuft (3 Sekunden für die Initialisierung von 65536 Tiles inklusive berechnen des Meshs und der Collider), versuche ich erst einmal andere Funktionen für das Spiel zu implementieren. Irgendwann will ich ja auch einmal eine spielbare Version haben ;)

Werbeanzeige