Autor | Zpráva | ||
---|---|---|---|
Fous Profil * |
Je nějaké omezení pro velikost pole (array)?
Díky. |
||
peta Profil |
#2 · Zasláno: 23. 9. 2008, 09:01:48
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 |
#3 · Zasláno: 24. 9. 2008, 22:10:33
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 |
#4 · Zasláno: 25. 9. 2008, 07:29:58
RAmses
Ukaz priklad, treba by se to dalo optimalizovat. Mne se akorat zapoti IE, kdyz ma vykreslit TABLE o 100x100. |
||
es Profil * |
#5 · Zasláno: 25. 9. 2008, 09:20:28
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 |
#6 · Zasláno: 25. 9. 2008, 13:14:23
„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 |
#7 · Zasláno: 25. 9. 2008, 13:49:03
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 * |
#9 · Zasláno: 25. 9. 2008, 14:13:32
> 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 |
#10 · Zasláno: 25. 9. 2008, 14:21:25
„> 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. |
||
Časová prodleva: 16 let
|
0