yngvedh Skrevet 17. november 2005 Del Skrevet 17. november 2005 Hei folkens! Jeg har et prosjekt hvor jeg bruker JOGL til grafikk, og jeg henter ut nanoTime for å få til animasjoner. Dette har fungert knirkefritt helt til jeg nylig oppgraderte PC'en. Har fått meg en Athlon X2 prosessor nå og det virker som om disse kjernene har hver sin timer og det kommer an på hvilken kjerne som kjører tråden hva resultatet av nanoTime er. Nå er bare avviket mellom kjernene 0.7 sek men det holder i massevis til å fullstendig ødelegge animasjonen min. Jeg har tenkt ut noen måter å fikse dette på: * Bruke currentTimeMilllis() istedet. Dette fungerer helt fint bortsett fra at den har en alt for lav oppløsning. Den opererer på en oppløsning rundt 16ms på min maskin og det gir meg sånn circa et tikk per bilde ved 60fps. Men dette fungerer dårlig da disse 60fps'ene ikke er synkronisert med tikkene og jeg får da ca ett bilde i sekundet hvor den får to tikk istedet for ett, altså 32ms. Dette er synlig i den forstand at animasjonene "hopper". * Lagre en tabell med avvik mellom de forskjellige prosessorene. Dette kunne fungert hadde jeg bare hatt en måte å finne ut hvilken prosessor som kjører akkurat nå. Noen som vet om det går an? * Få den til å kjøre kun på den ene kjernen, men det liker jeg ikke tanken på engang. Er det noen som har et bedre forslag, som kan fortelle meg hvordan jeg enten kjører kun på en kjerne eller som kan fortelle meg hvordan jeg finner ut hvilken prosessor jeg kjører på for øyeblikket? På forhånd takk. Yngve Devik Hammersland Lenke til kommentar
<Iversen> Skrevet 17. november 2005 Del Skrevet 17. november 2005 tror du kan velge hvilken kjerne som skal gjøre jobben på processes -> velg prosess og -> høyreklikk -> set affinity Lenke til kommentar
yngvedh Skrevet 17. november 2005 Forfatter Del Skrevet 17. november 2005 tror du kan velge hvilken kjerne som skal gjøre jobben på processes -> velg prosess og -> høyreklikk -> set affinity 5166056[/snapback] Noen måte å gjøre det fra java kanskje? Har ikke lyst å skru av den ene kjernen da.. PS: Går det an å kjøre to java tråder på hver sin kjerne eller blir begge eksekvert i den samme tråden i VM'en? Hvis ikke så skader det ikke noe å la den kun eksekvere på den ene kjernen. Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå