Ja, es gibt definitiv einen Leistungsgewinn, wenn man keine "name" -Attribute liefert.
WPF "Name" Mechanismus kann nützlich sein, aber es nutzt zusätzliche RAM und CPU in mehrfacher Hinsicht:
- Der XAML-Compiler einen zusätzlichen Slot in der Klasse für jedes benannte Objekt zuordnet (je 4 Byte)
- der XAML-Compiler fügt Ihre Klassencode jedes dieser
- die BAML Prozessor ruft zurück Ihren Code Anzeige zu initialisieren den Namen jeweils
- der BAML Prozessor fügt auch den Namen in ein Wörterbuch zu initialisieren, eine zusätzliche 20 erforderlich + Bytes pro Name
- Wenn Namen aufzublicken Sie wirklich brauchen Sie in Wörterbuch Kollisionen mit Namen laufen können Sie wirklich nicht
Für eine einfache Steuerung benötigen, einen Namen addieren die Kosten erhöhen zu steuern, dass die Kontrolle von 5 verwenden % oder so. Das ist nicht viel, aber warum verschwenden Sie Ihre CPU-Zyklen und Ihr RAM auf unnötige Namen?
Fazit: Wenn Sie Namen für Ihre Objekte nicht benötigen, benennen Sie sie nicht. Normalerweise ist der Inhalt oder die Bindung eines Steuerelements ausreichend, um den Zweck eines Steuerelements zu ermitteln. Und wenn das nicht genug Dokumentation ist, können Sie immer XML-Kommentare verwenden, die kostenlos sind.
ich würde sagen, es ist eine sehr schlechte Gewohnheit alle Kontrollen zu nennen, nicht nur wegen der Kosten, sondern auch, weil es Ihnen auf Ihre Kontrollen nach Name zu verweisen fördert, anstatt die richtige Ansicht Modell und Bindetechniken. Die meisten meiner XAML verwenden nicht "Name" für alle Kontrollen, geschweige denn alle von ihnen.
Ich fühle mich schlecht, jetzt, da ich immer noch nicht verbindlich bin, und ich muss alle meine Steuerelemente, die mit Daten gefüttert werden. : \ Alte Frage, aber wirklich gut. +1 für Antwort und Frage – Malavos