Hallo,
mit welcher Icongröße würde man performant ein Programm bebildern, welches auch auf
einem 4k-Bildschirm, bzw. bei höherer dpi gut aussieht?
Normalerweise binde ich Bilder in 96 dpi in meine WPF Programme ein. D.h wenn ich ein 32 wpf-unit Icon "Slot" habe, nehme ich ein 32 px icon.
Wenn ich nun aber möchte, dass das eingebundene Bild auf höheren DPI-Einstellungen gut aussieht, müsste ich ja ein Bild mit höherer Auflösung bzw. einfach mehr Pixeln nehmen.
Also z.B. für ein 16 wpf-unit icon ein 64 px icon.
Das Problem ist dann nur, dass wenn das WPF-Programm auf 96 dpi läuft, das zu große Bild herunterskaliert wird, was je nach qualität performance benötigt.
Wenn ich nun z.B. ein Tree-View mit viele Elementen (z.B. 5000) habe, wobei jedes Item ein Bild enthällt, ist es dann ratsam größere Bilder zu verwenden die man dann runterskalieren lässt?
Schöne Grüße, Stu
Hallo Stu,
ich selbst nutze, sofern vorhanden, Vektorgrafiken, damit das Problem nicht entsteht.
Gruß
Micha
Man kann ja z.B. Illustrator-Dateien auch als XAML speichern, die Ausgabe ist dann ein Resource-Dictionary mit "einigen" Elementen.
Ich hätte jetzt gedachte, dass das Rendern von diesen Vektorgrafiken noch viel länger dauert und mehr Speicher einnimmt.
Wenn ich nun z.B. ein Tree-View mit viele Elementen (z.B. 5000) habe, wobei jedes Item ein Bild enthällt
Niemand würde ein TreeView mit 5000 Einträgen sofort laden, sondern nur diese, die direkt sichtbar sind und den Rest dynamisch nachladen.
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code
Dank Virtualisierung könnten nur die Grafiken gerendert werden, die auch wirklich angezeigt werden sollen.
Virtualisierung ist aktiviert, ich schaue mal nach wie gut das geht, bisher aber keine Probleme.
Anscheinend benutzt VS2015 ja auch Vektorgrafiken, welche man übrigens auch in der VS2015 Image Library einsehen kann.
Danke für eure Antworten.