17. januar 2005 - 11:17Der er
17 kommentarer og 1 løsning
Hvor mange if'er kan man lave?
Hvor mange if'er kan man være bekendt at lave i en onClipEvent(enterFrame)? Er der nogen øvre grænse før man belaster systemressourcerne for meget? Kan en pc gå i sænk hvis man f.eks. har 50 if'er, og er det bedst at bruge else?
Jeg har ikke noget script endnu - er ved at planlægge og undersøge hvordan jeg skal lave en opgave. Men idéen var at jeg på baggrund af 2 betingelser som tilsammen giver ca. 50 kombinationer skulle bestemme hvilke værdier som skulle vises i en ComboBox. Men det er muligvis slet ikke måden man gør den slags på ...
Det er et designmodul til ringe, som kan vælges i 7 forskellige profiler og 9 forskellige bredder. Besætning med brillanter er teknisk afhængigt af disse to valg. Det vil sige at der ikke må kunne vælges for mange eller for store sten til en ring. Så jeg forestillede mig at jeg med mine mange if'sætninger kunne opstille regler for besætning og angive max antal i et dyn. tekstfelt og carat-mulighederne i en combobox.
Umiddelbart er der _intet_ svært i det, intet krævende for computeren at beregne. Kast du dig bare ud i det. Det vil dog være ret fjollet at lave det onEnterFrame - lav det som en onChange på både tekstfelt og combobox - så beregner du kun, når værdierne ændres.
Kan sådan en onChanged tjekke for om en variabel skifter værdi? (Jeg har 16 knapper som bruges til at vælge profiler og bredde, og ved tryk registrer jeg værdien i en variabel) "if..else blokke kan ofte skrives om til andre ting, der er lidt smartere." >> kan de så det i dette tilfælde?
Hvis du allerede først registerer det ved tryk på en knap, så kan du jo bare kalde din beregningsfunktion dér? Det er da ligetil?
Og om man kan gøre det smartere end if..else - aner jeg ikke :) Kommer jo helt an på dine betingelser og resultater med videre. Men jeg kan stadig ikke se, at noget af det skulle være det store problem at lave.
Dine svar er altid guld værd for sådan nogle som mig, og jeg forstår godt at mine "problemer" er svære at få øje på for sådan én som dig, men med en grafisk- og ikke programmerings-baggrund famler jeg altså lidt i blinde, og derfor spørger jeg de kloge. Tak for din interesse - læg et svar så skal du få dine points :)
Dit spørgsmål er bare af så generel og ikke-praktisk karakter, at det er lidt svært at svare på. Forsøg dig lidt frem først (det er jo ikke meget, du skal skrive), så er det nemmere at komme med tips til løsninger.
Man siger (groft sagt) at fx en 1 GHz cpu kan lave 1 milliard matematiske udregninger pr. sekund. En if-kode tæller dog som et par udregninger og den skal også behandles af flere systemer...
lavede lige denne simple test:
var tid = getTimer(); var n = 0; while(getTimer()-tid <= 1000){ n++; } trace(n);
som lægger 1 til værdien n, indtil der er gået mere end et sekund:
det kunne den så gøre: 390236 gange!!
og man skal nok regne med at getTimer() også sluger lidt tid... ;)
Okayyy.... det var vist et meget præcist svar. Hvis ellers du dermed siger at det sagtens kan lade sig gøre at afvikle ca. 50 if-sætninger 18 gange i sekundet...?
Hvem kunne dog finde på at lave et setup, hvor der skal laves den samme beregning 50 gange i sekundet uden præmisserne har ændret sig? Du skal selvfølgelig kun re-beregne, når der er en ændring i et af input-tallene.
Ikke, at det ikke kan lade sig gøre. Tag et kig på http://dr.dk/skum/hundeparken og gæt dig til, hvor mange tusind beregninger, der sker hvert sekund - mange!
Nej - så dum skulle man ikke tro at nogen kan være :) Jeg HAR faktisk forstået at jeg ikke skal lave det på den måde, men Jeg regnede med at pyromans sjove indslag forholdt sig til mit indledende spørgsmål, og svarede mest af høflighed. For ikke at miste den sidste rest af selvtillid, trækker jeg mig tilbage nu med tak for hjælpen endnu en gang ...
Hehe - det er i orden, man kan jo ikke kande til alt - og det er bedre at spørge om vej i stedet for at famle sig frem i blinde... - barklund skulle bare lige blære sig med sin utroligt store erfaring og videnskab... Og ja morten - du ved sgu nok mange gange mere end mig og shanne hvordan man tester beregninger helt præcist... ;) - For du er sgu nok en af de bedste programmører på exp.dk!!
Min kommentar var nu også ment både rosende og sjov ;)
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.