-
Innlegg
981 -
Ble med
-
Besøkte siden sist
Innholdstype
Profiler
Forum
Hendelser
Blogger
Om forumet
Innlegg skrevet av Dwagon
-
-
Neida, ikke gi opp enda. Det er nok noen som klarer å finne et billigere Ti kort, eller muligens 2 GTX 970 som du kan sette i SLI, som faktisk er sirkus like bra som et 980Ti kort og en god del bedre enn et enkelt 980.
Fant 970 til 2.800,- ca, det slår 980 og er bare et par hundringser dyrere.
Edit; Ta å bump denne innimellom eller sjekk BlackFriday-tråden. Det er kanskje bedre å slenge inn en forespørsel rett på BF-tråden
Hehe, godt poeng.
Har spesifikt utelukket 970 pga minnekontroller idiotien på den
Skal ta en titt i den tråden takk for tipset.
-
Å kjøpe GTX 980 i dag er nesten som å kjøpe katta i sekken pga GTX 980Ti. 980Ti har såppas mye bedre ytelse og koster så lite ekstra at det er meningsløst å kjøpe nytt 980. Eneste grunn for å gå for 980 jeg kan tenke meg er hvis man skal oppgradere til SLI eller finner et billig på bruktmarkedet.
Ja, jeg ser den.
Problemet er at det er 2000 kroner dyrere for et Ti kort, og det er mer enn jeg hadde lagt til siden.
Om komplett hadde vært kompis hadde de valgt ett annet enn 6gb versjonen å promotere på denne dagen, men akk nei
Da velger jeg å ikke oppgradere dette år heller, og heller se det ann mot neste års tilbuder.
Tusen takk for svaret.
-
Hei,
Min pc er som følger
CPU: I7 3770 (uklokket)
Ram: 24gb 1600mhz ram
SSD'er overalt
Gammel GPU: Amd HD 7950
Er det verdt det å kjøpe ett GTX 980 4gb's kort i dag på svartfredag,
Funnet en nettside som selger til 4.5k https://www.dustinhome.no/product/5010887017/armor-2xEr dette et "bra" kjøp med tanke på min maskin
Eneste grunn til at jeg vil ha nVidia's kort er for at min skjerm har 3D-Vision muligheter og jeg vil leke med det!
-
Her har du en enkel løsning:
List<PictureBox> randomRunes = yourRunes.OrderBy(i=>rnd.Next()).Take(8).ToList();
class SimpleRandomSelection { static void Main() { List<int> yourRunes = new List<int>(); //your list of runes for (int i=0; i<24; i++) { yourRunes.Add(i); } //fill the list with something Random rnd = new Random(); //instantiate your random source /// This is where the magic happens, a onliner that solves your problem: List<int> randomRunes = yourRunes.OrderBy(i=>rnd.Next()).Take(8).ToList(); //print to console to show selection randomRunes.ForEach(i=>Console.WriteLine(i)); } }
Epic, man lærer alltid noe nyttig.
takket være deg er nå verktøyet straks klart!
Var litt fomling da jeg møtte på en uvented kræsj.Men det viste seg å være feil i runelesningen fra fil samt en +1 error i en loop.
Men nå fungerer det som bare faen!
Alt som gjennstår nå er å legge til inputlogikk og begrensninger ihht bruk.
Tusen takk for all hjelpen.
Ja, kanskje greit å se på resultatet.
- 1
-
Akkurat ja
Men da er den i boks.
Nå må jeg bare finne ut hvorfor den dør om jeg ber om 12 runer.
-
Popcorn Time er jo piratmateriale. Og den er designet slik at den laster opp mens du ser.
Så dersom de overvåker trafikken på nettverket så kan de reagere, kan også være at porten til programmet er stengt.
Da kan du i allefall redigere konfigurasjonsfilen, dette ligger i appdata mappen.
src/app/lib/streamer.js linje 4 : var STREAM_PORT = 21584; endre til: var STREAM_PORT = 80;
For å gå på "http" porten, eller nettleserporten om du vill.
Veldig mange bedrifter og slikt stenger ned porter de spesifikt ikke trenger.
Norsk lov kan i teorien bite deg i skinken i aller værste tilfelle.
-
private int[] GenerateRunes(int numRunes) { ArrayList possibleRunes = new ArrayList(); Queue q = new Queue(Enumerable.Range(0, 23).ToArray()); possibleRunes.AddRange(q); ArrayList numGen = new ArrayList(); int index = 0; for ( int i = 0; i < numRunes; i++ ) { index = rnd.Next(0, 23 - i); numGen.Add(i); possibleRunes.RemoveAt(i); } int[] runelist = numGen.ToArray(typeof(int)) as int[]; return runelist;
Sånn ser den ut nå. fungerer fint, men får feil når jeg passerer 12 runer. I motsetning til 18 fra den gamle metoden.
Skjønner ikke helt hensikten med indexen.
-
I for loopen din skriver du
for (i=0; i<n; ++i) { index = rnd.Next(0, 23-i); chosenRunes.push(i); possibleRunes.delete_element(i); }
Kan det være at du mente at index skal være det tallet jeg henter og sletter på?
I så fall må jeg endre fra array til list, ellers blir det uhm.... merkelig.
Jeg prøver litt kode og ser hvordan det går.
Setter pris på all hjelp, selv om du kanskje ikke kan C#
-
Akkurat, ja kan ikke skryte på meg at dette er noe jeg kan. Det er åpenbart.
Copy pasten inn fra visual studio er skitten.
Jeg kan rett og slett ikke nok om syntaxen til å løse det på en ren måte (enda!)
Så mens du skrev posten din fiklet jeg med kode og kom fram til dette.private int[] GenerateRunes(int numRunes) { int[] numGen = new int[numRunes]; for ( int i = 0; i < numRunes; i++ ) { numGen[i] = rnd.Next(0, 23); // x runes } // time to sort. Array.Sort(numGen); // now throw into dupe checker if ( checkDupe(numGen) ) { return GenerateRunes(numRunes); //woot internal method call! } else return numGen; } public void drawImage(int numRunes, int numBags) { List<int> usedInts = new List<int>(); PictureBox[] boxes = {MASSE RUNEBOKSER!}; int[] runes = new int[numRunes]; runes = GenerateRunes(numRunes); //make the runelist for ( int i = 0; i < runes.Length; i++ ) { boxes[i].ImageLocation = files[runes[i]]; } } private bool checkDupe(int[] array) { if ( array.Length < 2 ) { return false; } for ( int i = 0; i < array.Length; i++ ) { for ( int j = i+1; j < array.Length; j++ ) { if ( array[i] == array[j] ) { return true; //we found a dupe } } } return false; // all good, no dupes. }
Nå må jeg bare finne ut hvorfor jeg får stackoverflow når jeg ber om mer enn 18 runer.
-
Velg ut alle de random tallene først, deretter tegner du runene ut i fra det. Én ting om gangen.
Random X ganger -> array -> sorter array -> se etter tall som gjentar seg -> om duplikater slett og start på nytt?
sånn for eksempel?
for ( int i = 0; i < numRunes; i++ ) { numGen[i] = rnd.Next(0, 23); // x runes } Array.Sort(numGen);
-
Hmm, må lese litt på det der orderby opplegget, er enda mye jeg ikke har kontroll på innenfor c#
Faktisk er det lite jeg faktisk har kontroll på. Men sånn er det når man er fersk.
Kjapt oppsummert så er teorien bak hele systemet dette:
- 24 runer, listet opp fra 0 til 23.
Jeg vil ha 8 runer!
- random tall mellom 0 og 23.
- tegn runen på skjermen
- putt tallet i en beholder
- Velg nytt tall mellom 0 og 23
- dersom tallet som ble valgt er allerede i beholderen, prøv på nytt!
- gjennta til man når 8 unike resultater.
Men dette får jeg ikke til i koden.
Beklager om dette ikke kom helt klart frem i førsteposten.
-
Heisann,
Sitter å fomler i mørket, uten noen åpenbart lys i sikt.
Intensjonen er å lage et verktøy som lar meg legge fram X tilfeldige runer på skjermen.
Det er totalt 24 forskjellige å velge mellom. Jeg tillater IKKE duplikater, altså jeg skal ikke ha samme runa 2 ganger.
Dette får jeg ikke til, har sett meg blind på koden og trenger nå friske øyne.
Har følgende metodepublic void drawImage(int numRunes, int numBags) { List<int> usedInts = new List<int>(); PictureBox[] boxes = { runeBox1, runeBox2, runeBox3, runeBox4, runeBox5, runeBox6, runeBox7, runeBox8, runeBox9, runeBox10, runeBox11, runeBox12, runeBox13, runeBox14, runeBox15, runeBox16, runeBox17, runeBox18, runeBox19, runeBox20, runeBox21, runeBox22, runeBox23, runeBox24, runeBox25, runeBox26, runeBox27, runeBox28, runeBox29, runeBox30, runeBox31, runeBox32, runeBox33, runeBox34, runeBox35, runeBox36, runeBox37, runeBox38, runeBox39, runeBox40, runeBox41, runeBox42, runeBox43, runeBox44, runeBox45, runeBox46, runeBox47, runeBox48 }; int[] possibleRunes = Enumerable.Range(0, 23).ToArray(); int sharedCounter = 0; Random rnd = new Random(); if ( numBags == 1 ) // less than 2 bags? That means you cant have dupes! { while ( sharedCounter < numRunes ) { int selected = rnd.Next(0, 23); if ( !checkDupe(selected, numRunes, usedInts) ) { boxes[sharedCounter].ImageLocation = files[selected]; sharedCounter++; } else { sharedCounter--; //decrement the counter i, so that it tries again. } } } else //he has more than one bag, dupes are ok. { while ( sharedCounter < numRunes ) { int selected = rnd.Next(0, 23); boxes[sharedCounter].ImageLocation = files[selected]; sharedCounter++; } } }
Inne i en IF statement kaller jeg på metoded som skal sjekke duplikater, og deretter returnere en bool som sier om jeg skal prøve igjen eller tegne runen.
private bool checkDupe(int numToCheck, int tests, List<int> used) { for ( int i = 0; i < tests; i++ ) { if ( !used.Contains(numToCheck) ) { System.Console.WriteLine("Not a duplicate, returned false"); used.Add(numToCheck); return false; } else { System.Console.WriteLine("Duplicate, returned true"); return true; } } //defaults to false, as a fallback return false; }
Dette er nå siste versjon av duplikatsjekkern.. hvor er det jeg er dum (i henhold til duplikatsjekken)
Er relativt sikker på at koden er horibelt uoptimalisert, og har en bug inni dær som gjør at den kræsjer i blant under tegning av runen.
-
Det kan faktisk se ut til at 59 hz fiksa det.
Så uendelig merkelig, Takk for tipset. Ska stikke over til AMD forumet å gjøre narr av support staffen
Ingen der som har peiling tydeligvis.
-
får du dette problemet dersom du kjører på 59 hz og 60 hz ?
Grunnen til at jeg spør er rett og slett fordi jeg får tilsvarende trøbbel når jeg oppdaterer driverne fra Nvidia. Skjermen min får tilsvarende problem hver gang driverne ikke er helt fornøyd med klokken skjermen min kjører på.
59 hertz?
Skal prøve det
-
Jepp, samme skjer uansett hvilken av de 3 skjermene jeg har startlinja på, spiller heller ingen rolle HVOR den er. oppe, nede, på siden osv.
Meget merkelig.
-
Rensker alltid drivere bort 100% med verktøy før nye kommer inn, bruker AMD sitt eget verktøy. (amdcleanuputility.exe) som de kaller det.
Ja, det ordner seg om jeg installerer de gamle, selv om jeg ikke fjerner de nye.
Men, desverre må jeg ha de nye om Wolfenstein The New Order skal virke.
-
Hei, har av en eller annen grunn fått en rar feil i de nyere AMD driverne, helt siden driver versjon 10.0 har skjermen min vist en meget snodig feil.
Jeg får blinkende linjer i bunnen av skjermen, når jeg kjører spill eller fullskjermsapplikasjoner, eller helt tilfeldig.
Se video.
og denne
Videoen er ulistet men tilgjengelig.
Hva i alle dager er det som forårsaker dette?
-
Etter litt iherdig googling og sånt er jeg ikke nevneverdig klokere.
Myset litt i den R9 tråden og så dette :
R9 290X -> HD 7970
R9 290 -> HD 7950
R9 280 -> HD 7870
R9 280X -> HD 7850
R9 270X -> HD 7770
R9 270 -> HD 7750Betyr det at for ex: R9 290 er det SAMME kortet som HD 7950?
Kan jeg da bare kjøpe Ett slik og ta det i crossfire, eller blir det krøll?
/wat.jpg
Øvrige stats: --> DxDiag.txt eeeeeeller. Se 37 pixler ned og noen til venstre.
i7-3770
8gig ram.
ssd'er overalt
Halp.
-
Hvordan kan æ sleppe å få popup som reklamere for ekstra når æ besøke HW?, vil nesten si at den e MER plagsom enn annonsan.
- 3
-
Halvblind 97 åring er en ekspert på maling-maling (om vi skal ha overskriften på norsk)
Men ja, flott at han får gjort det han liker best.
-
Jeg er ikke sikker på hva som er galt, bare pekte på noe som kunne væe inkonsistent.
Det er en relativt fundamental forskjell mellom programmeringsspråk. Det er naturlig for mennesker å telle 1, 2, 3, 4, men i noen programmeringsspråk (som C, C++, C#, Java) så benytter man 0-indeksering. Det betyr at man teller 0, 1, 2, 3, 4 etc. Men i Visual Basic, og muligens AutoIt så er det valgfritt. Jeg mener at den implisitt bruker 1-indeksering.
I Visual Basic (kan ikke AutoIt) bestemmer man dette slik:
Dim myArray As Integer(0 To 99) ' Definer et array som bruker 0-indeksering
Dette betyr at første indeks i arrayet er 0, altså må en For løkke se ut som den du bruker i koden.
Men jeg mener, uten å være helt sikker på dette, at dersom du bare skriver slik:
Dim myArray As Integer(100)
Så benytter Visual Basic 1 indeksering, og da kan For løkken se slik ut:
For indeks = 1 To UBound(myArray)
I koden er det blandet hva som brukes:
UBound($getTables, 1) &--#60;- Ser ut som 1-indeksering
$episodenumber = $getTables[1][$rad] &--#60;- Er i praksis en 0-indeksering, fordi $rad starter på 0.
Det er ikke helt sikkert at dette er problemet (fordi det i VB ihvertfall er fullt mulig å blande dette), men det var det første jeg så når jeg så over koden.
Men hvis UBound benytter seg av 0-indeksering så kan det hende den første iterasjonen bare går én gang.
Tror jeg skjønner, grunnen til at jeg har skrevet det slik som jeg har gjort er for at mitt $getTables array er et " 2 dimensjonalt" array, og i autoit krever UBound() at man gir array og dimensjoner, slik at den teller det rett, så begge mine for loops starter på 0, og jobber seg mot slutten.
Det er derfor det også står -1 etter UBound() funksjonen
Endrer jeg for eks til
For $kolonne = 0 To UBound($getTables, 0) - 1
og
For $rad = 0 To UBound($getTables, 1) - 1
Får jeg bare 8 linjer fra resultatet som egentlig skal være på 43 linjer for dette arrayet, men det er 2 ganger 4 linjer av samme.
Lar jeg
For $rad = 0 To UBound($getTables, 2) - 1
stå får jeg dobbelt opp resultat.
Og om jeg endrer begge til 0, får jeg 4 linjer, med 2 av det samme.
La ved et bilde som viser hvordan arrayet ser ut
Informasjonen den henter er som følger $getTables[0][3] og $getTables[0][1], det første tallet er det som skal "endres" på i for loopen min. Slik at jeg får skrevet ut alle episodene og tallene dems.
Edit... Når tror jeg at jeg starter å komme nermere. Ser ut som ubound teller "feil" vei.
Hver kolonne har 4 rader 0 til 3. Og derfor sier han at den bare er 4 stor. Makan altså. Nå må jeg finne ut hvordan jeg endrer retningen til UBound >.<
Har løst det, problemet var ikke med hvordan arrayet var satt opp eller lest, det var med måten jeg hadde skrevet for loopen.
Delte den opp i 2 looper fremfor slik det orginalt var, og nå funker det som bare tusan.
For $kolonne = 0 To UBound($getTables, 1) - 1 $resultData = $resultData & @LF Next For $rad = 0 To UBound($getTables, 2) - 1 $episodenumber = $getTables[1][$rad] & " " $episodenumber = StringRegExp($episodenumber,'\d{1,}',2) $resultData = $getTables[3][$rad] & " " $regClean = StringRegExp($resultData, '.+\n|.+\r', 2)
Slik rett og slett, og beklager dobbelposten, men hver gang jeg trykker edit så forsvinner mine > < tegn.
-
Jeg er ikke sikker på hva som er galt, bare pekte på noe som kunne væe inkonsistent.
Det er en relativt fundamental forskjell mellom programmeringsspråk. Det er naturlig for mennesker å telle 1, 2, 3, 4, men i noen programmeringsspråk (som C, C++, C#, Java) så benytter man 0-indeksering. Det betyr at man teller 0, 1, 2, 3, 4 etc. Men i Visual Basic, og muligens AutoIt så er det valgfritt. Jeg mener at den implisitt bruker 1-indeksering.
I Visual Basic (kan ikke AutoIt) bestemmer man dette slik:
Dim myArray As Integer(0 To 99) ' Definer et array som bruker 0-indeksering
Dette betyr at første indeks i arrayet er 0, altså må en For løkke se ut som den du bruker i koden.
Men jeg mener, uten å være helt sikker på dette, at dersom du bare skriver slik:
Dim myArray As Integer(100)
Så benytter Visual Basic 1 indeksering, og da kan For løkken se slik ut:
For indeks = 1 To UBound(myArray)
I koden er det blandet hva som brukes:
UBound($getTables, 1) &--#60;- Ser ut som 1-indeksering
$episodenumber = $getTables[1][$rad] &--#60;- Er i praksis en 0-indeksering, fordi $rad starter på 0.
Det er ikke helt sikkert at dette er problemet (fordi det i VB ihvertfall er fullt mulig å blande dette), men det var det første jeg så når jeg så over koden.
Men hvis UBound benytter seg av 0-indeksering så kan det hende den første iterasjonen bare går én gang.
Tror jeg skjønner, grunnen til at jeg har skrevet det slik som jeg har gjort er for at mitt $getTables array er et " 2 dimensjonalt" array, og i autoit krever UBound() at man gir array og dimensjoner, slik at den teller det rett, så begge mine for loops starter på 0, og jobber seg mot slutten.
Det er derfor det også står -1 etter UBound() funksjonen
Endrer jeg for eks til
For $kolonne = 0 To UBound($getTables, 0) - 1
og
For $rad = 0 To UBound($getTables, 1) - 1
Får jeg bare 8 linjer fra resultatet som egentlig skal være på 43 linjer for dette arrayet, men det er 2 ganger 4 linjer av samme.
Lar jeg
For $rad = 0 To UBound($getTables, 2) - 1
stå får jeg dobbelt opp resultat.
Og om jeg endrer begge til 0, får jeg 4 linjer, med 2 av det samme.
La ved et bilde som viser hvordan arrayet ser ut
Informasjonen den henter er som følger $getTables[0][3] og $getTables[0][1], det første tallet er det som skal "endres" på i for loopen min. Slik at jeg får skrevet ut alle episodene og tallene dems.
Edit... Når tror jeg at jeg starter å komme nermere. Ser ut som ubound teller "feil" vei.
Hver kolonne har 4 rader 0 til 3. Og derfor sier han at den bare er 4 stor. Makan altså. Nå må jeg finne ut hvordan jeg endrer retningen til UBound >.<
-
Du blander mellom 0 og 1 indeksering ser det ut til.
Er ikke helt sikker på hva du mener der, nå skal det da sies at jeg har sitti i hele natt og skrevet dette programmet, så mye mulig at jeg roter noe vilt, du orker ikke copy paste den linjen du mener jeg har gjort feil på.
Er ganske fersk på dette med programmering. :/
Dersom det hjelper hiver jeg hele greia jeg har skrevet inn hær.
-
av en eller annen grunn looper dette 4 ganger før den anser seg som ferdig, noen som kan peke på den og si "derfor... det er jo åpenbart" Er skrevet i "autoit" skripte språket, ekstremt løst basert på c++
For $kolonne = 0 To UBound($getTables, 1) - 1 ; telle hvor mange kolonner som er i arrayet $resultData = $resultData & @LF ; @lf er linjebrudd For $rad = 0 To UBound($getTables, 2) - 1 ; samme som den andre for loopen, men denne er for radene $episodenumber = $getTables[1][$rad] & " " ; $getTables er et array med informasjon i, litt for mye $episodenumber = StringRegExp($episodenumber,'\d{1,}',2) ; hent ut bare det jeg vil ha, i dette tilfellet bare tall $resultData = $getTables[3][$rad] & " " ; hele episode navnet blir skrevet til variabel $regClean = StringRegExp($resultData, '.+\n|.+\r', 2) ; rydde litt i navnet FileWrite($filename, $episodenumber[0] & " - " & $regClean[0]) ; skriver både episode tall og navn til en fil Next Next
Oppgradering av GPU amd hd 7950 -> nVidia GTX 980
i Skjermkort
Skrevet
Generelt sett "trenger" jeg ikke ett nytt kort når jeg har ett HD 7950 slik jeg har per i dag.
Og da synes jeg at ett kort til 6500 blir for dyrt. Selv om det er ett 680Ti, men jeg skal tygge på det resten av dagen å se det ann.
Grunnet til at jeg synes det er dyrt er fordi jeg er en ekstremt fattig nerd, som har spart og spart for å få råd til det jeg vil ha
Om jeg bruker alle pengene mine kan jeg kjøpe ett 680Ti, men da er jeg også blakk til neste gang jeg får penger. Og så viktig er det ikke for meg.
Jeg må uansett ut senere med ca 1.5k for nvidia 3d vision briller.
Håper at man kan finne en god løsning straks