Brauche Hilfe: Wie mache ich mein Auto schneller fahrend?

So, das muss ich jetzt nochmal schnell loswerden. Es gibt da so eine unsägliche Unart bei Programmierern, vor allem die Einsteiger, die unbedingt wissen wollen, wie man seinen code noch schneller machen könnte. So ganz generell halt.

Ich freu mich ja wenn Einsteiger was dazulernen wollen und Fragen stellen. Aber generelle Fragen, so ganz anlasslos und nicht gezielt auf die eigene Situation eingehend, ist ein reiner Meinungsaustausch und ziemlich subjektiv. Ja, dein Auto ist schnell, deine Frau hübsch und das Kind ganz bestimmt von dir. Fühlst du dich jetzt besser?

So etwa ist das beim programmieren. Da das nicht jeder kennt, vergleichen wirs doch mal mit autofahren. Da frägt also einer, wie er seinen Brénault Zidane schneller machen kann. Und die Antworten, die dann kommen, gehen etwa so:

  • Gaspedal voll durchtreten
  • Weniger bremsen
  • Auf keinen Fall die Fenster öffnen wegen dem cw Wert
  • Sitze ausbauen
  • Gänge immer voll ausfahren bevor man hochschaltet
  • Die Alte rauswerfen
  • Bremsflüssigkeit, Öl und Scheibenwischwasser auf Minimum
  • Immer nur ein Viertel „volltanken“
  • Ersatzrad, Feuerlöscher, Werkzeug und Erste Hilfe Kasten raus
  • Nur verbleites Benzin tanken
  • Pflastersteine in Kofferraum

Ja, toll. Wieder was gelernt. Das Problem dabei? Wer es nicht erkannt hat: die Tips sind fast durch die Bank weg entweder offensichtlich, irrelevant, fahrlässig, gefährlich, unpraktikabel, schädlich, sinnlos, widersprüchlich, mißverständlich oder nicht mehr zeitgemäß. Deswegen sind diese generellen Tips vor allem eins: kontraproduktiv.

Gibts das eigentlich auch in anderen Fachbereichen? Würde mich ja mal echt interessieren.

3 Gedanken zu “Brauche Hilfe: Wie mache ich mein Auto schneller fahrend?

  1. Antithese: Genau solche Tipps, Tricks und Bauernregeln helfen manchen Einsteigern beim Lernen. Besser wäre es jedoch, zu jedem Tipp auch noch kurz zu erklären wieso. So offensichtlich sind einige Sachen vielleicht gar nicht, z. B. Die Sache mit den Fenstern und dem cw-Wert. Ich weiß z.B., dass ich tonnenweise Zeug über Grafikkarten gelernt habe aus einem Videovortrag von ATI über die Top X schlimmsten Fehler bei der Optimierung. Klar, das hätte ich theoretisch auch alles mit nem Profiler rausfinden können, das hätte aber mindestens 1000x so lang gedauert und ich hätte vorher aufgegeben. Das ist ungefähr so wie wenn ich in einem Linux-Forum was frage und als Antwort nur RTFM bekomme und dass man sich mit Linux gefälligst etwas gründlicher beschäftigen muss, wenn man mitspielen will.

    • Ja, wenn es gut erklärt ist sind „best practices“ Gold wert. Nur spielt hier „premature optimization is the root of all evil“ eine große Rolle, und die Tatsache das viele der Tips (die SO Antwort steht dafür beispielhaft) dubios, überholt, nicht generell anwendbar oder nicht allgemeingültig sind. Vielleicht ist das nur bei cocos2d so das da viel mit Halbwissen im Bezug auf Performance um sich geworfen wird, ich habs bei anderen Gaming Engines (XNA, Torque) nicht so erlebt. Da war ich aber auch nicht so aktiv. Vermutlich schwebt bei vielen noch im Hinterkopf eine andere Halbwahrheit mit, das nämlich Objective-C ohnehin ineffizient und langsam sei.

      Die Sache mit dem Akku wird kein Indie wirklich optimieren, und da kann man mit gutem code wenig reißen. Viel wichtiger ist eben nicht ständig GPS Koordinaten anzufordern, Daten zu übertragen, und andere Akku-intensiven features nicht oder sparsam zu nutzen. Und den Bildschirmschoner nur dann auszuschalten, wenn tatsächlich das Spiel läuft und nicht im Menü oder bei Pause.

  2. Ich glaube du hast dem Kerl auf SO unrecht getan. Er hat vllt. seine Frage ungeschickt gestellt, aber ich glaube, dass er tatsächlich lernen will und das ist besser als „ich hab diesen Code hier, könnt ihr den verbessern? kthxbye“.
    Im übrigen gibt es gerade auf mobilen Geräten immer mindestens einen wichtigen Grund für effizienteren Code, auch wenn man schon bei 60 fps ist: Den Akku!

Die Kommentarfunktion ist geschlossen.