21. září bude sraz! Od 18.00 v restauraci Tradice v Praze u Anděla
Autor Zpráva
Fous
Profil *
Je nějaké omezení pro velikost pole (array)?
Díky.
peta
Profil
Javascript ma omezenou pamet sam pro sebe a tusim, ze i kazda promenna i pole ma urcity maximalni prostor. Je to pojistka kazdeho jazyka.

Zkus to upresnit?
Myslim, ze jsem konstruoval pole bludiste o velikosti 100x100 jednoznak.
V pripade potreby se da pouzit rozdeleni do vice poli, zasifrovani do base64 / base16 (pro pole typu boolean), indexovani pomoci str.indexOf misto pole pouzit retezec.
RAmses
Profil
Já měl vícerozměrné pole ve kterém byly údaje o 8100 mapových podkladech. Protože javascript využívá pamět uživatelova stroje, firefox se při procházení onoho pole zapotil až běda. Kdyby mu nepomohl Správce úloh, potil by se dodnes.
peta
Profil
RAmses
Ukaz priklad, treba by se to dalo optimalizovat.
Mne se akorat zapoti IE, kdyz ma vykreslit TABLE o 100x100.
es
Profil *
peta
Javascript ma omezenou pamet sam pro sebe a tusim, ze i kazda promenna i pole ma urcity maximalni prostor. Je to pojistka kazdeho jazyka.
Pamäť je obmedzená len pamäťou PC a op. systémom, prípadne prehliadačom, nie je pravda, že by špecifikácia JavaScriptu vyžadovala nejaké obmedzenie pamäti.
A už vôbec nie je pravda, že by sa vyžadovalo obmedzenie pamäti zvlášť pre každú premennú.
Určité obmedzenie je len maximálnym indexom poľa, ten je 2^32-1.
RAmses
Profil
RAmses
Ukaz priklad, treba by se to dalo optimalizovat.
Mne se akorat zapoti IE, kdyz ma vykreslit TABLE o 100x100.
Ze serveru jsem dostal v JSONu data o 8100 mapových podkladech(dlaždicích 200x160px). Javascriptem jsem zjišťoval pro každou dlaždici, zda je viditelná ve viewportu(v závislosti na posunu celé mapy). Pokud byla dlaždice viditelná, přidal jsem do divu <img> tag pro tuto dlaždici. Potilo se IE i Firefox. Když firefox zabral 500MB paměti tak jsem to ukončil. Nakonec jsem stejně použil jinou metodu a řešil viditelnost na straně serveru.
U js je (logický) problém právě v tom, že používá pamět počítače. Dělal jsem cms postavené na frameworku ExtJS, ale musel jsem toho nakonec nechat, protože to bylo pro klientovy stanice náročné a pomalé.
Chamurappi
Profil
Reaguji na RAmsese:
To už nebyl problém JS, ale spíš DOMu a vykreslovacího jádra. Pole s několika tisíci položkami je docela mrňous.
RAmses
Profil
Chamurappi
To už nebyl problém JS, ale spíš DOMu a vykreslovacího jádra. Pole s několika tisíci položkami je docela mrňous.
Aha tak to jo, ovšem výsledek byl stejný.

— Moderátor (Ch): Když reaguješ na mě, tak začni příspěvek mým jménem a ne citací mých slov „Reaguji na RAmsese“. —
los
Profil *
> Javascriptem jsem zjišťoval pro každou dlaždici...
Skôr bol problém v použitom algoritme.

Fous
Dôležité je, prečo ťa vlastne zaujíma maximálna veľkosť poľa. Taká otázka naznačuje, že chceš riešiť nejaký problém pomerne odvážnym spôsobom, ktorý by asi bolo dobré ešte premyslieť.
RAmses
Profil
> Javascriptem jsem zjišťoval pro každou dlaždici...
Skôr bol problém v použitom algoritme.

Asi jo, ale myslím, že i tak to nebylo šťastné řešení na straně klienta. Řeším to na straně serveru a je po problému.

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0