Stránka 1 z 1

Výkonové problémy

PříspěvekNapsal: stř srp 27, 2008 8:42 pm
od N3o21
Všimli jste si podstatných výkonových problémů iPhonu v některých aplikacích?

Například pokud se podíváte na AppStore, u Mobile Finderu někdo píše, že mu padá z důvodů nedostatku RAM.
Osobně mám zkušenost s hrou Aurora Feint, která je sice kvalitní, ale místy je opravdu až nepříjemně "sekaná", často upozorňuje na nedostatek RAM, a také padá kvůli nedostatku RAM.

Copak iPhone neumí se svými 128MB RAM pořádně hospodařit?

Re: Výkonové problémy

PříspěvekNapsal: stř srp 27, 2008 8:44 pm
od pacholek
/spamON
otazkou je zda-li umeji hospodarit aplikace, NE iphone
napsat apliakci ktera zahli pamet je otazkou par radku ale aplikaci ktera efektivne vyuziva pamet je tezsi :)
/smapOFF

Re: Výkonové problémy

PříspěvekNapsal: stř srp 27, 2008 8:48 pm
od N3o21
No dobře... Ale přecijen SDK nemůže dovolit dneska napsat vše, a vyloženě zahltit paměť. Dneska je to samý .NET, MONO, a podobné technologie. Apple určitě má něco podobného. V dnešních systémech už moc nezáleží na vývojáři aplikace (teda samozřejmě se dá něco napsat prasácky, ale už je to větší dřina než dřív :-) )

Re: Výkonové problémy

PříspěvekNapsal: stř srp 27, 2008 9:31 pm
od caesar
Přesně tak, Apple přeci zavedl tento systém právě kvůli tomu, aby k takovým věcem nedocházelo.

Re: Výkonové problémy

PříspěvekNapsal: stř srp 27, 2008 9:35 pm
od Kiwisek
Apple iPhone SDK pouziva Objective-C, kde je Garbage Collector, ale to nezmana, ze kdyz nekdo napise aplikaci neefektivne nebo nejak vylozene prasacky, vsechno se vyrasi samo. A ono 128 MB neni zase az tak moc.

Re: Výkonové problémy

PříspěvekNapsal: stř srp 27, 2008 9:42 pm
od caesar
Jde o to, že Apple to před uvedením "kontroluje", nebo to alespoň tvrdí, takže takové věci by pouštět neměl.

Re: Výkonové problémy

PříspěvekNapsal: stř srp 27, 2008 10:10 pm
od Diablo
Presne jak rikal Pacholek , chyba neni v iPhonu ale v aplikacich ktere byli napsany proste blbe a neefektivne vyuzivaji operacni pameti kterou ma iPhone pro aplikace tretich stran opravdu hodne oproti jinym mobilnim zarizenim.

Apple se na tuto kontrolu nezameruje . To hlavni co kontroluje jsou autorska prava aplikaci a to jestli aplikace nezasahuje do systemu + dalsi body tech pravidel za kterych je mozne publikovat ty aplikace .

Jinak ta kontrola Applu je relativne hodne spatna .

Vyse zminovana hra Aurora Feint cca pred 3 tydny byla stazena kvuli tomu ze stahovala data z Kontaktu ( Telefoni cisla Emaily bydliste apod ) a poznamek a odesilala je kamsi na Server , autor se sice branil tim ze tyto informace neposkytoval nikam dal a ze byli urceny pouze pro ucely hry , i tak byla aplikace stazena a autor ji musel preprogramovat tak aby vyresil ten problem. nejlepsi na tom je ze se na to prislo asi az po mesici takze ta kontrola Applu neni prilis efektivni ...

Re: Výkonové problémy

PříspěvekNapsal: čtv srp 28, 2008 7:46 am
od N3o21
serb: Nevim jak to řeší Apple. Ale v dnešním .NET už spíš jen lepíš kód, a používáš funkce "API". Většina už je hotova a ty je jen voláš.
Ne že by se to nedalo špatně napsat. Ale to by musel bejt člověk hodně nešika nebo by se musel vyloženě snažit.
Pokud to píšete v C/C++, neni problém to napsat špatně. Ale Objective-C je něco "pokročilejšího", ne?

Btw... 128MB RAM je na mobilní telefon obrovská velikost. PalmOS mívali kolem 12MB opravdové RAM, WM měli 32, 64, dneska mají HTC i 288 (ale jen jeden model, a další 3 mají 128, jinak všechny další maji 64MB). No, a kolik má symbian? Teď už to nesleduju, ale N73 mám dojem měla 32MB.

Ta kontrola aplikací je děs... :-D
Ale třeba u Mobile Finderu mě udivují ty pády z nedostatku RAM, protože je to celkem jednoduchá aplikace.

Re: Výkonové problémy

PříspěvekNapsal: čtv srp 28, 2008 12:13 pm
od lf4
Jen pro uplnost iPhone nemá garbage collector, z sdk:

Note: iPhone OS does not support memory management using the garbage collection feature that is in Mac OS X v10.5 and later.


N3o21: Obj-C je je nadstavba C, takže dědí všechny jeho problémy, hodně věcí zjednodušuje, ale hlavně paměť musíš za sebou dukladně čistit :) a taky nezapomeň že je tu už od roku 1986.

Re: Výkonové problémy

PříspěvekNapsal: čtv srp 28, 2008 5:19 pm
od N3o21
Aha...
tak o tomhle nemám povědomí... Objective-C třeba neznám, čekal sme že to bude něco novějšího.
A na C# se teprv chystám. Zatim jen starý C, C++ a ASM (8086+80C196). O C# (.NET, MONO...) a těch novějších mám jen obecný povědomí a znám pár lidí co s tim dělaji.

Dobře tedy. Zřejmě si za to můžou sami aplikace :-) Ostatně, to mě potěšilo - prostě nebudu kupovat ty aplikace, co jsou padavě napsané.

Re: Výkonové problémy

PříspěvekNapsal: pát srp 29, 2008 9:50 am
od Antabelus
Jseš si jist že ti Aurora Feint padá opravdu z důvodu nedostatku RAM? Podle mě máš přeplněnou pamět root partition (většinou má 500MB, podle toho jak máš nakonfigurovaný CFW). V případě že už se obsah této partition blíží k 500MB (nebo k velikosti kterou máš nakonfigurovanou) tak ti zkrátka iPhone napíše informační zprávu o nedostatku paměti.

Re: Výkonové problémy

PříspěvekNapsal: pát srp 29, 2008 6:25 pm
od N3o21
Hehe... na "disku" mám volno kolem 10GB... Tim to asi nebude ;-)

Aplikací mám minimum. Žádnej jailbreak... Nic... Pomalu čistej iPhone.
A sama Aurora Feint vyhrožuje nedostatkem RAM ;)

Re: Výkonové problémy

PříspěvekNapsal: sob srp 30, 2008 2:35 pm
od Vlasák
N3o21 píše:serb: Nevim jak to řeší Apple. Ale v dnešním .NET už spíš jen lepíš kód, a používáš funkce "API". Většina už je hotova a ty je jen voláš.
Ne že by se to nedalo špatně napsat. Ale to by musel bejt člověk hodně nešika nebo by se musel vyloženě snažit.
Pokud to píšete v C/C++, neni problém to napsat špatně. Ale Objective-C je něco "pokročilejšího", ne?


No, faktem je, že i přes zabstraktnění kódu pořád musíš dávat pozor na to, co a jak lepíš. Gargabe collector, i sebeideálněji napsaný, ti nikdy neuvolní paměť, kterou z nějakého důvodu používáš - a v tom je kámen úrazu. I jazyky s automatickou správou paměti mohou mít memory "leaky" - například někde držíš objekty, které si (mylně) myslíš, že už dávno nedržíš... a když to děláš opakovaně, snadno počet objektů naskáče. Garbage collector zkrátka pořád ještě nemá jasnovidecké schopnosti :wink: