(überflüssige) Demo



  • So, ich habe eine Linux-Version, ich lade sie mal hoch...
    edit: ein umfangreicheres Makefile ist IMO nicht sinnvoll

    [ Dieser Beitrag wurde am 20.01.2003 um 12:42 Uhr von nman editiert. ]



  • Dieser Beitrag wurde gelöscht!


  • So, WinRar 3.00 konnte es entpacken (*hint*). Die Sache kann man nicht mehr mit dem VC 6.0 kompilieren, da du den include der pch geändert hast. Wenn du kompatibele Änderungen machen möchtest, dann benutzte doch bitte ein #define, welches du dann im makefile setzen könntest.



  • Die Änderungen in der stdafx.h waren nötig weil \ als Verzeichnistrenner nicht portabel ist, ich kann nicht nachvollziehen warum / ausgerechnet hier nicht funktioniert...
    Naja, mal ein bisschen probieren...

    edit: Ah, Erleuchtung, es liegt am (korrekten) #include "**../**stdafx.h", seltsam, aber gut, das lässt sich leicht beheben...

    [ Dieser Beitrag wurde am 20.01.2003 um 13:31 Uhr von nman editiert. ]



  • Jetzt sollte es auch der MSVC++ kompilieren können, die neue Version ist hochgeladen und ihre MD5 ist ee0c3936e978c42d470349aea882fbe8.



  • nope funzt nicht 😞
    Müssen dann wohl doch immer 2 Versionnen bleiben?!



  • *grr* Das gibts doch nicht, mein Code ist korrekt, ich weiß nicht was dieser schrottige Compiler daran auszusetzen hat! 😡

    Ich start mal mein Windows und schaus mir an, irgendwie muss das doch gehen... 🙄



  • Man muss nunmal die pch's als erstes inkludieren, kann wieso finuzt das bei dem linux Teil nicht?



  • Weil stdafx.h nicht im gleichen Verzeichnis wie die Renderer-Dateien ist sondern eben eines höher, (..) ich weiß nicht warum der VC++ das kompiliert, das ist so nicht richtig.
    (Genausowenig wie ich weiß warum er mein korrektes #endif beim Workaround nicht will.)



  • Dieser Beitrag wurde gelöscht!


  • Oh nein, warum sollen die denn deaktiviert sein, ich will ordentlich arbeiten?



  • Original erstellt von TGGC:
    Oh nein, warum sollen die denn deaktiviert sein, ich will ordentlich arbeiten?

    Weil das in der Form ein VC++-only-Feature ist, du musst Dich entscheiden, PCHs oder portabler Code.
    (Ich habe noch immer nicht verstanden, was an PCHs so toll sein soll, dass jemand deswegen auf Portabilität verzichten möchte; warum kannst Du nur mit PCHs vernünftig arbeiten? 😕 )



  • Original erstellt von nman:
    [quote]Original erstellt von TGGC:
    [qb]Oh nein, warum sollen die denn deaktiviert sein, ich will ordentlich arbeiten?

    Weil das in der Form ein VC++-only-Feature ist, du musst Dich entscheiden, PCHs oder portabler Code.
    (Ich habe noch immer nicht verstanden, was an PCHs so toll sein soll, dass jemand deswegen auf Portabilität verzichten möchte; warum kannst Du nur mit PCHs vernünftig arbeiten? 😕 )[/QB][/QUOTE]

    Weil's viel schneller kompiliert, in dem Fall verzichte ich auf die Kompatibilität!



  • Deine Entscheidung, ich nehme die Sourcen vom Server.



  • So, erstmal sehen, obs überhaupt noch Interesse an dem Projekt gibt 😉
    2D Renderer



  • Wäre cool wennde ne ungefähre Beschreibung des Algo's liefern könntest.

    Der Renderer ist nicht dokumentiert, da es sich um eine "alte" Version handelt, die neu geschrieben werden soll, damit der Renderer mehr qualitäts- statt geschwindigkeitsorientiert arbeitet. Es handelt sich noch um die Version aus der RealTime Demo.

    Also ersetze einfach mal den Vector durch ne Liste und benutze die Iteratoren

    Ich glaube nicht, das der Einsatz von Listen schneller sein kann. Aber du kannst es gerne ausprobieren (nimm dir halt die Zeit...), implementiere einfach eine neue Rendererklasse.

    Für jedes Feld schaun welche Objekte sichtbar sind.
    Für jedes Feld berechnen welche Farbe es erhält auf Grund der Objekte die sichtbar sind.
    (Ein Feld wäre ein Pixel)

    Ein Tile (wenn du das mit "Feld") meinst, ist kein Pixel. Ich berechne auch nicht die Farbe für ein Feld.



  • Also ich hatte mir diesen Source hier vorgenommen: http://www.fh-merseburg.de/~roesch/trash/zweid_cleansource_v2.zip
    Is also nix mit Echtzeit ...

    Vielleicht könnteste einfach ein paar Worte darüber verlieren was du da machst, bin mir sicher das man da ne Menge optimieren kann.
    Zeit habe ich leider nicht, bin 24h am lernen ... schreibe Montag und Dienstag meine Abi-Klausuren für die Leistungskurse. Ausserdem habe ich noch nen eigenes Projekt am laufen, sollten also nur Anregungen sein, vielleicht meldet sich ja noch jemand für dein Projekt der die Anregungen dann mal ausprobieren kann.

    Ich glaube nicht, das der Einsatz von Listen schneller sein kann.

    Sehen wirst du es nur wenn du es ausprobierst, laut Profiler geht dort aber fast genauso viel Zeit verloren wie in der Methode Intersect, und das macht fast 50% des Programms aus ...
    Und selbst falls es nicht signifikant sein sollte, da du nur iterativen Zugriff hast warum sollte man nicht einen iterativen Container benutzen. Ist viel intuitiver als ein vector.



  • Mal ne dumme Frage was soll dieses "Profiler" sein? Ist das nen extra Programm oder bei msvc++ dabei oder was auch immer. Soweit ich das hier gelesen habe hört es sich so an als wenn man dammit sehen kann welcher Teil eines Programmes wie aufwendig ist. Hab mit Google nichts darüber gesehen.



  • In der Tat ...
    Ein Profiler gibt an welche Routine wieviele Ticks braucht, wie oft aufgerufen wird, etc...
    Gute Profiler können auskunft darüber geben wie gut der ProzessorCache ausgelastet wird wo sich halt Bottlenecks befinden, also Stellen im Programm die besonders lange dauern und sich in den inner-loops befinden. Wie hier im Beispiel die Intersect Methode. Sie nimmt viel Zeit in Anspruch, lässt aber wenig Platz zum optimieren. Aber was fasst genausoviel Zeit in Anspruch nimmt ist die Get() Methode der ObjektListe, und diese besteht nur aus der Answeisung ein Objekt zurückzuliefern. Da sollte man dann doch mal schaun ob man dies nicht verhindern kann.



  • Original erstellt von ChaosAngel:
    Sehen wirst du es nur wenn du es ausprobierst

    Ich bin mir sicher genug, das ich es nicht erst probieren muss. Ich hab auch nicht die Zeit, irgendwelche unbegründete Vermutungen zu implementieren, vor allem wenn ich garnicht sehe, auf welche Weise ich dort Listen einbauen soll, das es mit hilft. Das ganze erinnert mich irgendwie an das ZFX-Board wo die Liste grad so in sind, das sie die Lösung zu quasi jedem Problem darstellen. 😉

    Bye, TGGC

    BTW: Wie ich dir helfen kann weiss ich auch net. 😉


Anmelden zum Antworten