Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

redundante Dateien im Bildercache #1669

Closed
verkruemelt opened this issue Aug 13, 2018 · 8 comments
Closed

redundante Dateien im Bildercache #1669

verkruemelt opened this issue Aug 13, 2018 · 8 comments

Comments

@verkruemelt
Copy link

Wenn das Gleiche Bild bspw. in mehreren Nachrichten verwendet wird, wird jedes mal ein eigenes Bild im Cache erzeugt.
Wäre es nicht sinnvoller, das Selbe gecachte Bild zu verwenden? Auch wenn der interne Verweise {{file::....}} verwendet wird.

assets/images/0/0_clipping-16ce9220.svg
assets/images/0/0_clipping-65bea6bd.svg
assets/images/0/0_clipping-7ebcd743.svg
assets/images/2/0_clipping-d0dfc7fd.svg
assets/images/5/0_clipping-3b5a0a34.svg
assets/images/6/0_clipping-89ad7908.svg
assets/images/8/0_clipping-4260060a.svg
assets/images/8/0_clipping-f9fe4612.svg
assets/images/b/0_clipping-be83287a.svg
assets/images/b/0_clipping-eb57d351.svg
assets/images/b/0_clipping-f519c11d.svg
assets/images/c/0_clipping-9fe19f39.svg

contao 4.4.20
php 7.2.7

@fritzmg
Copy link
Contributor

fritzmg commented Aug 13, 2018

Verschiedene Versionen von einem Bild werden dann erzeugt, wenn verschiedene Ausgabegrößen verwendet werden. Ist der Inhalt jeder dieser .svg Dateien exakt gleich? Wenn ja, dann gibt es evt. einen Bug. Für die exakt selbe Ausgabegröße sollten nicht mehrere Dateien erzeugt werden.

@verkruemelt
Copy link
Author

verkruemelt commented Aug 14, 2018

Ja, der Inhalt ist gleich, die Größe ist auch immer gleich, ich hatte nur 2 Mal "an Rahmen anpassen" und sonst "Proportional" verwendet. Ich habe die Einstellungen vereinheitlicht, die Bilder mit "0_clipping*" entfernt und die Artikel neu aufgerufen. Jetzt wird nur ein Vorschaubild erzeugt.

Edit: Es wird doch wieder ein 2. Bild erzeugt. Ich habe gerade nochmal 3 Artikel angeschaut und nun ist im Cache Verzeichnis wieder ein 2. Vorschaubild.
Liegt es eventuell daran, dass die Bilder als Link verwendet werden? Die Artikel enthalten jeweils ein Inhaltselement. Einen Hyperlink, dieser verweist auf ein PDF-Dokument (ein Artikel jeweils für ein Dokument) und dafür wird ein Bildlink erstellt (immer mit der gleichen SVG-Datei und den gleichen Einstellungen).

@fritzmg
Copy link
Contributor

fritzmg commented Aug 14, 2018

Liegt es eventuell daran, dass die Bilder als Link verwendet werden?

Sollte egal sein, da das an einer zentralen Stelle erzeugt wird, unabhängig davon, wer die jeweilige Bildgröße requested.

Der Hash der Datei setzt sich so zusammen: https://github.com/contao/core-bundle/blob/4.5.12/src/Resources/contao/library/Contao/Image.php#L379-L403

Wenn sich also etwas an

  • der Zielbreite
  • der Zielhöhe
  • dem Pfad der Datei
  • dem Größenänderungsmodus
  • dem Zoom Level
  • dem wichtigen Teil
  • dem Änderungsdatum der Datei

ändert, wird ein neues Bild erzeugt.

@asaage
Copy link

asaage commented Aug 14, 2018

Es kann auch passieren, wenn man bei den Bildgrößen verschiedene Pixeldichten im Einsatz hat (was für SVG's nicht so wirklich Sinn macht).
contao/image#46

edit:
Was in diesem Fall rauskommt sind in der Tat unterschiedliche Dateien (width & height Attribute werden hinzugefügt bzw. geändert)

@fritzmg
Copy link
Contributor

fritzmg commented Aug 14, 2018

Der Fall wäre dann mit dem Unterschied von

  • der Zielbreite
  • der Zielhöhe

abgedeckt. Denn ein 2x Bild hat natürlich eine andere Größe als das Default 1x Bild.

@ausi
Copy link
Member

ausi commented Aug 14, 2018

Seite Contao 4.3 werden die tatsächlichen Zielkoordinaten für die Berechnung des Hashes verwendet. D.h. es kann nicht mehr vorkommen dass das exakt selbe Bild mehrfach erzeugt wird, sofern das Quellbild gleich bleibt: https://github.com/contao/image/blob/7460eee279c71eb99b545f3d60ce889a2d1f9b29/src/Resizer.php#L172-L190

Sollte das doch der Fall sein, poste bitte die Links zu den generierten Dateien.

@verkruemelt
Copy link
Author

Die Datei liegt unter files/intranet/news_clipping/0_clipping.svg und wird jeweils mit den exakt gleichen Einstellungen genutzt.
Es wird immer 0_clipping-d0dfc7fd.svg in den Nachrichten verwendet.
Ich habe die *clipping*-Dateien nochmal alle aus dem Cache entfernt und mir die Nachrichten anzeigen lassen. Bis dahin wurde nur die eine Datei (-d0dfc7fd) erzeugt.
Danach habe ich in dem Inhaltselement (Hyperlink) etwas geändert. Ich habe die Überschrift von h3 auf h1 geändert, obwohl diese leer ist, gespeichert, Seite neu aufgerufen und der Bildpfad auf der Seite ist der gleiche. Aber im Cache-Verzeichnis ist wieder ein 2. Bild da. ... Das kommt vom contao-Backend... Aber wo kommen dann die anderen Versionen her?

@fritzmg
Copy link
Contributor

fritzmg commented Aug 15, 2018

@verkruemelt

Sollte das doch der Fall sein, poste bitte die Links zu den generierten Dateien.

leofeyer added a commit that referenced this issue Oct 16, 2020
Description
-----------

Implements #1669

Commits
-------

8be1dd98 Use meaningful values for the "autocomplete" attributes
50e69246 Found more occurrences
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants