MRBennetsen✔ Skrevet Oktober 2, 2019 Del Skrevet Oktober 2, 2019 Goddag stavox ppl, jeg laver amatør E2'er og har umiddelbart misforstået en masse, jeg har en alt for høj OPS i stort set alting, den bliver stoppet af serveren, men hvordan er den bedste måde at optimere det? Link til kommentar Del på andre sites More sharing options...
WimBlim Besvaret Oktober 2, 2019 Del Besvaret Oktober 2, 2019 Der sku gerne være en funktion eller hvad det nu er, som hedder ops. Så if(ops < 100){Hvad der nu end skal gøres} Link til kommentar Del på andre sites More sharing options...
Xean -.- Besvaret Oktober 2, 2019 Del Besvaret Oktober 2, 2019 Mange glemmer at gøre brug af elseif og else. De hjælper en hel del på OPS. Jeg har fået at vide hvis du laver dit design inde i funktioner skulle du vidst også spare lidt OPS, men ved jeg ikke om er rigtigt. Sørg for der ikke er nogle fejl, altså den gør en masse unødvendige ting på en gang. Link til kommentar Del på andre sites More sharing options...
Scaled Besvaret Oktober 2, 2019 Del Besvaret Oktober 2, 2019 Hvis du virkeligt ønsker at optimere din E2 ordentligt, så fiks din E2's CPU-brug samtidig. Din E2's ops hæver din E2's CPU-brug, hvilket i nogle tilfælde får E2'en til at crashe. Link til kommentar Del på andre sites More sharing options...
Matti 🐐 Besvaret Oktober 2, 2019 Del Besvaret Oktober 2, 2019 Kan godt hjælpe dig senere, hiv fat i mig på Evo. Link til kommentar Del på andre sites More sharing options...
Xean -.- Besvaret Oktober 2, 2019 Del Besvaret Oktober 2, 2019 11 minutter siden, Scaled skrev: Hvis du virkeligt ønsker at optimere din E2 ordentligt, så fiks din E2's CPU samtidig. Jeg tror nemlig, at din E2's ops hæver din E2's CPU, hvilket i nogle tilfælde får E2'en til at crashe. CPU? Link til kommentar Del på andre sites More sharing options...
MRBennetsen✔ Besvaret Oktober 2, 2019 Forfatter Del Besvaret Oktober 2, 2019 " central processing unit " Link til kommentar Del på andre sites More sharing options...
Xean -.- Besvaret Oktober 2, 2019 Del Besvaret Oktober 2, 2019 35 minutter siden, MRBennetsen skrev: " central processing unit " Bruh. Jeg ved godt hvad en CPU er, men hvad har det med E2 at gøre? Det vil fx ikke hjælpe dig at få en ny CPU til din egen pc, på dit OPS problem. Link til kommentar Del på andre sites More sharing options...
~Misser~ Besvaret Oktober 2, 2019 Del Besvaret Oktober 2, 2019 Har den største træng til at hjælpe dig men hvis du er amatør, så ville det jo ikke være til nogen nytte da du så (af hvad jeg går udfra) ikke laver E2 hvor pro optimering behøves ekstremt meget. Hvis du nu beskriver noget af det du skal have optimeret så får du mere hjælp da der er mange ting der hjælper. Link til kommentar Del på andre sites More sharing options...
Scaled Besvaret Oktober 2, 2019 Del Besvaret Oktober 2, 2019 1 time siden, Sandpapir skrev: Bruh. Jeg ved godt hvad en CPU er, men hvad har det med E2 at gøre? Det vil fx ikke hjælpe dig at få en ny CPU til din egen pc, på dit OPS problem. Link til kommentar Del på andre sites More sharing options...
Aske Besvaret Oktober 2, 2019 Del Besvaret Oktober 2, 2019 Nu ved jeg ikke hvilken slags E2 du laver men et tip kunne være at hvis din e2 er lang og indeholder mange figurer og test på det der bliver displayet. Ville det hjælpe at bruge timere til at det loader ind lidt efter lidt Et andet tip kunne være at undgå den fx. Tjekker noget uspecificeret først og der efter noget specifikt det kan undgås ved fx. at hvis ejeren skal skrive i chatten så tjekker den om det er ejeren der skriver før den tjekker for tekst. Men det kan også undgås hvis den tjekker efter om en knap bliver trykket at den så tjekker specifikt før den tjekker efter knap Link til kommentar Del på andre sites More sharing options...
Maloni Besvaret Oktober 2, 2019 Del Besvaret Oktober 2, 2019 Burg helst switch cases istedet for elseif siden det minimere OPS en del, brug timere til at gøre ting ikke loader ind, fjern unødvendige linjer kode eller prøv at minimere det ved fx at en spiller trykker på en knap så check om ops er lavere *Dette gør så at det er nærmest umuligt at crashe den ved at spamme* Link til kommentar Del på andre sites More sharing options...
~Misser~ Besvaret Oktober 3, 2019 Del Besvaret Oktober 3, 2019 Der er ekstremt mange muligheder. Ændring på den maksimale tiladte OPS Elseif og else kan bruges Timere der skal starte din E2 altså delvist loade ting ind, sørg for at de ikke bliver ved med at køre. brug timere i stedet for reset() sørg for som sagt at dele din E2 op så alt ikke bliver loadet på samme tid. MVH. Misser Link til kommentar Del på andre sites More sharing options...
Xean -.- Besvaret Oktober 4, 2019 Del Besvaret Oktober 4, 2019 På 02/10/2019 den 10:46 PM , Maloni skrev: Burg helst switch cases istedet for elseif siden det minimere OPS en del, brug timere til at gøre ting ikke loader ind, fjern unødvendige linjer kode eller prøv at minimere det ved fx at en spiller trykker på en knap så check om ops er lavere *Dette gør så at det er nærmest umuligt at crashe den ved at spamme* switch cases og (if, elseif og else) bruger præcist samme antal OBS. Det eneste forskel er hvordan det ser ud, så du skal bare vælge hvad du synes ser bedst ud. Link til kommentar Del på andre sites More sharing options...
Maloni Besvaret Oktober 4, 2019 Del Besvaret Oktober 4, 2019 1 time siden, Sandpapir skrev: switch cases og (if, elseif og else) bruger præcist samme antal OBS. Det eneste forskel er hvordan det ser ud, så du skal bare vælge hvad du synes ser bedst ud. Har du testet det? Desuden ingen grund til at give mig dum hvis jeg giver dig et forslag? Desuden ved du ikke engang hvad CPU er inden for e2 tror sku lidt du er den dumme her Link til kommentar Del på andre sites More sharing options...
Xean -.- Besvaret Oktober 4, 2019 Del Besvaret Oktober 4, 2019 1 time siden, Maloni skrev: Har du testet det? Desuden ingen grund til at give mig dum hvis jeg giver dig et forslag? Desuden ved du ikke engang hvad CPU er inden for e2 tror sku lidt du er den dumme her Hvorfor skulle det bruge mindre ops? Det giver ingen mening, det er legit kun til brug af "designet" i din E2. Og jeg ved godt hvad CPU er, men jeg vidste ikke lige hvad det skulle bruges til optimering af en E2. Og vil lige teste det her om 2 sekunder, så vil jeg skrive en opdatering på det.. Update 🙂 Jeg testede begge måder at lave en chat command på og her er mine resultater. switch() brugte den gennemsnitligt 6.2 ops, og jeg testede 10 gange med samme command. if/elseif bruge samme ops og testede også 10 gange, med samme command. Bare for i lige selv kan prøve her er E2'en jeg testede med. runOnChat(1) #switch(): Avg: 6.2 #if(chatClk(owner())) #{ # A = owner():lastSaid():lower():explode(" ") # switch(A[1,string]) # { # case "!walter", # print("Walter er cool") # break # case "!mike", # print("Mike er cool") # break # } #} #elseif(): Avg: 6.2 #if(chatClk(owner())) #{ # A = owner():lastSaid():lower():explode(" ") # if(A[1,string]=="!walter") # { # print("Walter er cool") # } # elseif(A[1,string]=="!mike") # { # print("Mike er cool") # } #} Link til kommentar Del på andre sites More sharing options...
Trixx Besvaret Oktober 5, 2019 Del Besvaret Oktober 5, 2019 Ops har 'intet', at gøre med at din e2' crasher / bliver stoppet, og @Sandpapirs average er relativt forkert, da de korrekte informationer skal tjekkes med opcounter() & cputime istedet for ops. Da ops kun er average, og ikke det korrekte brug lige efter execution. Din e2' crasher / bliver stoppet hvis: Din opcounter over 4.5k(I think) tick qouter din E2'. Bliver din E2's CPU flagget i at være over 100 fleretagende gange bliver den stoppet af serveren. Mange ting der gør at din ops kører lavere får din cputime til at stige(dafuq?), Det vil sige at der skal optimeres alt efter om du tick quoter eller bliver stoppet af serveren Så de bedste måder at sørge for at din e2' ikke craher er at: * Huske elseif overalt(hvor det kan bruges)! * Bruge switch til dine clks, chat commands & alt andet det kan bruges til * Aldrig kør funktioner fleretagende gange, hvis det kan undgåes, og gemmes i et lokalt variable * Husk på at tables bruger langt mere serverkræft / opcounter end normale variabler, så brug dem istedet (det bruger 70% mere cirka) * Husk på at hele E2'en bliver kørt igennem hver gang at den gør noget, så alle dine hovede og statements bør være elseif ^3 The Dead Trixx Skrevet på mobil så formatting is shit Link til kommentar Del på andre sites More sharing options...
MRBennetsen✔ Besvaret Oktober 5, 2019 Forfatter Del Besvaret Oktober 5, 2019 Så søger jeg læremester indenfor switches & cases, da jeg ikke kender den måde 🙂 Link til kommentar Del på andre sites More sharing options...
Xean -.- Besvaret Oktober 5, 2019 Del Besvaret Oktober 5, 2019 13 timer siden, MRBennetsen skrev: Så søger jeg læremester indenfor switches & cases, da jeg ikke kender den måde 🙂 Har aldrig rigtigt brugt dem selv, men sådan her i guess: @name @inputs @outputs S:string @persist if(first()) { runOnChat(1) S = "No" } elseif(chatClk(owner())) { A = owner():lastSaid():lower():explode(" ") switch(A[1,string]) { case "!set", S = owner():lastSaid():sub(5,100) break case "!print", print("S = "+S) break } } Det er ihvertfald sådan jeg har forstået dem 🙂 Ellers prøv at se den her video: https://www.youtube.com/watch?v=UQQAYrejORk Eller læs på E2 wiki https://github.com/wiremod/wire/wiki/Expression-2 Link til kommentar Del på andre sites More sharing options...
Aske Besvaret Oktober 6, 2019 Del Besvaret Oktober 6, 2019 På 05/10/2019 den 12:00 PM , MRBennetsen skrev: Så søger jeg læremester indenfor switches & cases, da jeg ikke kender den måde 🙂 De kan også bruges til at execute timers CLK = clkName() if(CLK != "") { switch(CLK) { case "timer1", if(1 + 1 == 2){ print("Yes") } break, case "timer2", if(1 + 1 != 2){ print("No") } break, case "timer3", if(2 - 1 == 1){ print("Yes") } break, case "timer4", if(2 - 1 != 1){ print("No") } break, } } Link til kommentar Del på andre sites More sharing options...
Xean -.- Besvaret Oktober 8, 2019 Del Besvaret Oktober 8, 2019 @Aske Dette virker. Link til kommentar Del på andre sites More sharing options...
Recommended Posts
Arkiveret
Dette emne er nu arkiveret og er lukket for yderligere svar