Generování náhledů obrázků – signály nebo jinak?

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
sairon
Člen | 32
+
0
-

Řeším tu teď problém, jak implementovat generování náhledů pro prohlížeč souborů v Texyle. Příjemné je to přes signály, ale má to jeden háček – generování jednoho náhledu trvá stovky milisekund až vteřiny – všechno je totiž volání presenteru a už při deseti obrázcích je sakra znát, že prochází většinou jeho životního cyklu – jednou již vygenerované obrázky jsou uložené a u nich se provede jen redirect, ale i to je příšerně pomalé. Vytvořením komponenty, která tohle bude obstarávat, si asi nijak nepomůžu, na druhou stranu se nechci okrádat o autoloading tříd, proměnné nastavené v aplikaci a v neposlední řadě nechci přesouvat skripty toto obstarávající do document rootu. Ale nevím, jestli je tu jiné řešení a stejně tak by mě zajímalo, jestli můj přístup není nesmyslný :) Řeším tak i generování náhledu a vrácení seznamu souborů, tam se ale ta pomalost tak neprojevuje, protože to je jen jeden request.

Edit: Tak si říkám, že implementovat to jako komponentu bude asi chytřejší, když budu chtít Texylu přesunout do jiného presenteru, bude stačit zaregistrovat komponentu. Ale řekl bych, že to problém s rychlostí nevyřeší…

Editoval sairon (8. 2. 2009 18:27)

phx
Člen | 651
+
0
-

Nahledu ceho? Obrazku?

Myslis jako nevo jako vybrat obrazek a zobrazi se ti seznam obrazku (miniatury) a ty si vyberes, ktery vlozit? Co generovat miniaturu pri nahrani obrazku?

sairon
Člen | 32
+
0
-

Ano, nakonec jsem se k tomu dostal. Nevím, proč mě to nenapadlo hned na začátku… Nějak jsem měl nutkání to udělat celé dynamicky, přitom to vlastně není potřeba.

ViliamKopecky
Nette hipster | 230
+
0
-

sairon napsal(a):

Ano, nakonec jsem se k tomu dostal. Nevím, proč mě to nenapadlo hned na začátku… Nějak jsem měl nutkání to udělat celé dynamicky, přitom to vlastně není potřeba.

No, já to také řešil, ale důvod byl ten, že jsem tak nějak počítal s časem proměnlivou velikostí náhledů.

sairon
Člen | 32
+
0
-

A jak jsi to nakonec vyřešil? Protože, jak jsem řekl, než to dojde ke zpracování signálů, tak to trvá nepříjemně dlouho (při větším počtu náhledů). Sice s „nekompaktní“ verzí Nette, ale řekl bych, že s kompaktní verzí by se to nezměnilo zas o řád (ale o polovinu možná jo).

phx
Člen | 651
+
0
-

Mozna by pomohlo toto: http://blog.milde.cz/…ompilatoru-/

ViliamKopecky
Nette hipster | 230
+
0
-

sairon napsal(a):

A jak jsi to nakonec vyřešil? Protože, jak jsem řekl, než to dojde ke zpracování signálů, tak to trvá nepříjemně dlouho (při větším počtu náhledů). Sice s „nekompaktní“ verzí Nette, ale řekl bych, že s kompaktní verzí by se to nezměnilo zas o řád (ale o polovinu možná jo).

Výkonnost jsem neřešil :) udělal jsem si ThumbPresenter – u něj by sis moh změnit životní cyklus, takže by některé fáze třeba přeskočil, ale nevim kolik výkonu by to ušetřilo.