Salta al contenuto
  • Categorie
  • Recenti
  • Tag
  • Popolare
  • Utenti
  • Gruppi
Collassa
Logo del marchio
  1. Home
  2. Hardware
  3. CPU & Overclock
  4. Prime Cores V1.0 Freeware

Prime Cores V1.0 Freeware

Pianificato Fissato Bloccato Spostato CPU & Overclock
438 Post 0 Autori 40.9k Visualizzazioni
  • Da Vecchi a Nuovi
  • Da Nuovi a Vecchi
  • Più Voti
Rispondi
  • Risposta alla discussione
Effettua l'accesso per rispondere
Questa discussione è stata eliminata. Solo gli utenti con diritti di gestione possono vederla.
  • T Non in linea
    T Non in linea
    Totocellux
    scritto su ultima modifica di
    #141

    ti siamo tutti grati per il tempo che stai utilizzando insieme a noi, e personalmente ne seguo con estremo interesse lo sviluppo :)

    Se avessi altro tempo a disposizione parteciperei volentieri più attivamente, ma purtroppo non lo posso avere :muro:

    Ho notato che ora, lato riconoscimento hardware, utilizzi l'MSR Walker che CrystalMark ha sviluppato per il suo CrystalCpuId.

    Ben fatto, meglio evitare rogne ulteriori e dedicarti esclusivamente allo sviluppo dell'interfaccia e dell'algoritmo O0

    Ho visto anche che utilizzi Microsoft ASM v1.0

    Soprattutto in ambiente Vista e 7 per agganciarti meglio (con le giuste librerie) con la GUI del s.o. dovresti passare allo sviluppo tramite .NET.

    Questo ti permetterebbe senz'altro di interfacciarti più fluidamente e senza il verificarsi di ulteriori rallentamenti.

    Quindi se non vuoi riscrivere d'accapo tutto il lavoro in un futuro prossimo, ti consiglio quanto prima di passare quantomeno a C# (Sharp) quindi a Visual Studio 2005-SP1/2008 o addirittura al nuovo 2010.

    Un'ultima cosa: comprendo che sono solo righe di codice per un test, ma dovrei farti un piccolo appunto

    http://www.xstreme.it/differenza.exe

    2^3=4

    2^4=8

    2^5=16

    etc. etc.

    in partenza ti deve esser sfuggito un incremento sul fattore di potenza all'interno del primo ciclo nell'output di scrittura, e il risultato è tutto slittato indietro di un fattore ;)

    Continua con questo impegno, che riuscirai/riusciremo a tirar fuori belle cose :)

    1 Risposta Ultima Risposta
    0
    • A Non in linea
      A Non in linea
      apix_1024
      scritto su ultima modifica di
      #142

      bravo toto l'avevo notato anche io lo slittamento del risultato ;)

      cmq per fare i 100M numeri primi e la smatricizzazione il mio pippa II X4 dovrebbe lavorare 24/27 per ben 64giorni :asd::asd::asd:

      1 Risposta Ultima Risposta
      0
      • X Non in linea
        X Non in linea
        Xstreme
        scritto su ultima modifica di
        #143

        Totocellux ha scritto:

        ti siamo tutti grati per il tempo che stai utilizzando insieme a noi, e personalmente ne seguo con estremo interesse lo sviluppo :)

        Se avessi altro tempo a disposizione parteciperei volentieri più attivamente, ma purtroppo non lo posso avere :muro:

        Ho notato che ora, lato riconoscimento hardware, utilizzi l'MSR Walker che CrystalMark ha sviluppato per il suo CrystalCpuId.

        Ben fatto, meglio evitare rogne ulteriori e dedicarti esclusivamente allo sviluppo dell'interfaccia e dell'algoritmo O0

        Ho visto anche che utilizzi Microsoft ASM v1.0

        Soprattutto in ambiente Vista e 7 per agganciarti meglio (con le giuste librerie) con la GUI del s.o. dovresti passare allo sviluppo tramite .NET.

        Questo ti permetterebbe senz'altro di interfacciarti più fluidamente e senza il verificarsi di ulteriori rallentamenti.

        Quindi se non vuoi riscrivere d'accapo tutto il lavoro in un futuro prossimo, ti consiglio quanto prima di passare quantomeno a C# (Sharp) quindi a Visual Studio 2005-SP1/2008 o addirittura al nuovo 2010.

        Un'ultima cosa: comprendo che sono solo righe di codice per un test, ma dovrei farti un piccolo appunto

        http://www.xstreme.it/differenza.exe

        2^3=4

        2^4=8

        2^5=16

        etc. etc.

        in partenza ti deve esser sfuggito un incremento sul fattore di potenza all'interno del primo ciclo nell'output di scrittura, e il risultato è tutto slittato indietro di un fattore ;)

        Continua con questo impegno, che riuscirai/riusciremo a tirar fuori belle cose :)

        che debugger hai utilizzato ?

        1 Risposta Ultima Risposta
        0
        • P Non in linea
          P Non in linea
          principino1984
          scritto su ultima modifica di
          #144

          apix_1024 ha scritto:

          bravo toto l'avevo notato anche io lo slittamento del risultato ;)

          cmq per fare i 100M numeri primi e la smatricizzazione il mio pippa II X4 dovrebbe lavorare 24/27 per ben 64giorni :asd::asd::asd:

          e non ti sembra un buon motivo per buttarlo al cesso? :asd:

          bonis62 ha scritto:

          che debugger hai utilizzato ?

          il debugger utilizzato è la sua infinita saggezza :asd:!

          1 Risposta Ultima Risposta
          0
          • X Non in linea
            X Non in linea
            Xstreme
            scritto su ultima modifica di
            #145

            principino1984 ha scritto:

            e non ti sembra un buon motivo per buttarlo al cesso? :asd:

            il debugger utilizzato è la sua infinita saggezza :asd:!

            no.....perchè.......

            ci sono un pò di cose che non quadrano :knuppel2: , volevo verificare di persona.

            1 Risposta Ultima Risposta
            0
            • T Non in linea
              T Non in linea
              Totocellux
              scritto su ultima modifica di
              #146

              bonis62 ha scritto:

              che debugger hai utilizzato ?

              ad un primo approccio non ne utilizzo alcuno ...... semplicemente visualizzo il linkeditato (l'eseguibile) in raw, o in alcuni casi utilizzo un editor esadecimale e mi oriento lì dentro ;)

              1 Risposta Ultima Risposta
              0
              • X Non in linea
                X Non in linea
                Xstreme
                scritto su ultima modifica di
                #147

                Totocellux ha scritto:

                ad un primo approccio non ne utilizzo alcuno ...... semplicemente visualizzo il linkeditato (l'eseguibile) in raw, o in alcuni casi utilizzo un editor esadecimale e mi oriento lì dentro ;)

                ah ok

                comunque non uso asm 1.0

                uso Flat Assembler 1.68 per Windows e Linux

                le chiamate alle api sono fatte piu o meno cosi:

                Function GetWindowText(hWnd:,lpString:,nMaxCount :)

                quindi puoi ben riconoscere sono regolari chiamate di servizio

                di crystal, utilizzo una sola chiamta a una dll per il database

                dei nomi delle schede madri, trovo l'esadecimale dalla libreria

                volatile di windows (sappiamo entrambi quale è) e mi becco

                con quel hex il return della nome della mobo

                che ben presto toglierò perchè alle volte blocca il programma

                anzi se ti intendi di programmazione e mi butti giù 4 righe

                per il sysinfo non sarebbe male :)

                in effetti è slittato di uno, in avanti perche è

                dalla parte della variabile di intestazione,

                per dirla tutta :)

                se ti piace ce Pe explorer che ha un viewer hex fenomenale.

                se vuoi fare domande , sto qui :)

                1 Risposta Ultima Risposta
                0
                • T Non in linea
                  T Non in linea
                  Totocellux
                  scritto su ultima modifica di
                  #148

                  bonis62 ha scritto:

                  che debugger hai utilizzato ?

                  ad un primo approccio non ne utilizzo alcuno ...... semplicemente visualizzo il linkeditato (l'eseguibile) in raw, o in alcuni casi utilizzo un editor esadecimale e mi oriento lì dentro ;)

                  1 Risposta Ultima Risposta
                  0
                  • A Non in linea
                    A Non in linea
                    apix_1024
                    scritto su ultima modifica di
                    #149

                    principino1984 ha scritto:

                    e non ti sembra un buon motivo per buttarlo al cesso? :asd:

                    il debugger utilizzato è la sua infinita saggezza :asd:!

                    giovine il mio amd superpippa II X4 per il resto va benone.. se a calcolare numeri primi è più lento del mio nokia 5800 non mi ci sbatto più di tanto :asd::asd::asd:

                    1 Risposta Ultima Risposta
                    0
                    • O Non in linea
                      O Non in linea
                      One1ros
                      scritto su ultima modifica di
                      #150

                      da me non funziona bene l'abort/restart: quando lo premo che riapre la schermata che ha ancora tutte le voci che devono essere selezionate per quanto riguarda quelle dei core anche se non vengono visualizzate le checkbox evidenziate mi tiene sempre l'ultima modifica fatta. In piu' se si vuole cambiare idea e nn fare piu' l'esclusione dei thread non si puo fare e si deve resettare (che, ripeto, da me non funziona).

                      Questa la config:

                      CPU :

                      Intel® Core?2 CPU 6400 @ 2.13GHz

                      ------------------------------------------------------------------

                      Cores :

                      2

                      ---------------------------------------------

                      Operating System :

                      Windows XP Professional SP3 [ 5.1 Build 2600 ]

                      Mi ha dato un punteggio di 9 sul 1K

                      cmq il carico cpu è sempre tra 97 e 99% penso possa essere soddisfacente come cosa ;)Complimenti per questo egregio lavoro. :n2mu:

                      1 Risposta Ultima Risposta
                      0
                      • X Non in linea
                        X Non in linea
                        Xstreme
                        scritto su ultima modifica di
                        #151

                        Totocellux ha scritto:

                        ad un primo approccio non ne utilizzo alcuno ...... semplicemente visualizzo il linkeditato (l'eseguibile) in raw, o in alcuni casi utilizzo un editor esadecimale e mi oriento lì dentro ;)

                        http://www.xstreme.it/ttcl.zip

                        ho sempre voluto sapere con che directx e scritta sta

                        cosa, magari tu ci riesci O0

                        1 Risposta Ultima Risposta
                        0
                        • X Non in linea
                          X Non in linea
                          Xstreme
                          scritto su ultima modifica di
                          #152

                          One1ros ha scritto:

                          da me non funziona bene l'abort/restart: quando lo premo che riapre la schermata che ha ancora tutte le voci che devono essere selezionate per quanto riguarda quelle dei core anche se non vengono visualizzate le checkbox evidenziate mi tiene sempre l'ultima modifica fatta. In piu' se si vuole cambiare idea e nn fare piu' l'esclusione dei thread non si puo fare e si deve resettare (che, ripeto, da me non funziona).

                          Questa la config:

                          CPU :

                          Intel® Core?2 CPU 6400 @ 2.13GHz

                          ------------------------------------------------------------------

                          Cores :

                          2

                          ---------------------------------------------

                          Operating System :

                          Windows XP Professional SP3 [ 5.1 Build 2600 ]

                          Mi ha dato un punteggio di 9 sul 1K

                          cmq il carico cpu è sempre tra 97 e 99% penso possa essere soddisfacente come cosa ;)Complimenti per questo egregio lavoro. :n2mu:

                          hai ragione, in effetti per fare prima ho fatto riavviare alla

                          brutta l'applicazione, ma sto scrivendo la procedura

                          corretta, abbi pazienza, il cambio dei thread è incluso

                          nel reset di tutte le viariabili, quindi coincide con il fatto stesso :D

                          grazie per i complimenti, e ne approfitto per ringraziare tutti dei complimenti, troppo buoni :clapclap:

                          con le beta i punteggi danno un po' a desiderare, in quanto cambiando le routine, cambiano i risultati

                          che per ora sono ancora fittizi, dalla prossima release , sara tutto un pò piu stabile,

                          del 97 e il 99 per cento, forse è già risolto, cioè , mi ero dimenticato di chiudere

                          un processo, che occupava cicli.

                          1 Risposta Ultima Risposta
                          0
                          • X Non in linea
                            X Non in linea
                            Xstreme
                            scritto su ultima modifica di
                            #153

                            apix_1024 ha scritto:

                            giovine il mio amd superpippa II X4 per il resto va benone.. se a calcolare numeri primi è più lento del mio nokia 5800 non mi ci sbatto più di tanto :asd::asd::asd:

                            ma ce anche la superpippa I ? :2funny:

                            1 Risposta Ultima Risposta
                            0
                            • T Non in linea
                              T Non in linea
                              Totocellux
                              scritto su ultima modifica di
                              #154

                              :asd:

                              bonis62 ha scritto:

                              http://www.xstreme.it/ttcl.zip

                              ho sempre voluto sapere con che directx e scritta sta

                              cosa, magari tu ci riesci O0

                              ...... sono appena tornato a casa :asd:

                              è scritta in un linguaggio simile al VIsual Basic, e utilizza OpenGL:

                              BlitzMAX

                              :)

                              1 Risposta Ultima Risposta
                              0
                              • X Non in linea
                                X Non in linea
                                Xstreme
                                scritto su ultima modifica di
                                #155

                                Totocellux ha scritto:

                                :asd:

                                ...... sono appena tornato a casa :asd:

                                è scritta in un linguaggio simile al VIsual Basic, e utilizza OpenGL:

                                BlitzMAX

                                :)

                                clip1.jpg

                                quindi questo qui sotto non centra nulla con quel codice essendo c++, vero ?

                                #include "geom.h"

                                #include

                                #include

                                using namespace std;

                                extern "C"{

                                void C_UpdateNormals(int,int,short *,float *,float *);

                                int C_IntersectSegmentTriangle( float px, float py, float pz,

                                float qx, float qy, float qz,

                                float ax, float ay, float az,

                                float bx, float by, float bz,

                                float cx, float cy, float cz,

                                float &u, float &v, float &w, float &t);

                                }

                                int TriangleVertex(int,int,short*);

                                void C_UpdateNormals(int no_tris,int no_verts,short *tris,float *vert_coords,float *vert_norm){

                                int t;

                                map norm_map;

                                for( t=0;t

                                int tri_no=(t+1)*3;

                                int v0=tris[tri_no-3];

                                int v1=tris[tri_no-2];

                                int v2=tris[tri_no-1];

                                float ax=vert_coords[v1*3+0]-vert_coords[v0*3+0];

                                float ay=vert_coords[v1*3+1]-vert_coords[v0*3+1];

                                float az=vert_coords[v1*3+2]-vert_coords[v0*3+2];

                                float bx=vert_coords[v2*3+0]-vert_coords[v1*3+0];

                                float by=vert_coords[v2*3+1]-vert_coords[v1*3+1];

                                float bz=vert_coords[v2*3+2]-vert_coords[v1*3+2];

                                float nx=(ay*bz)-(az*by); // surf.TriangleNX#(t)

                                float ny=(az*bx)-(ax*bz); // surf.TriangleNX#(t)

                                float nz=(ax*by)-(ay*bx); // surf.TriangleNX#(t)

                                Vector n(nx,ny,nz);

                                n.normalize();

                                int c;

                                for( c=0;c

                                int v=TriangleVertex(t,c,tris);

                                float vx=vert_coords[v*3]; // surf.VertexX(v)

                                float vy=vert_coords[(v*3)+1]; // surf.VertexY(v)

                                float vz=vert_coords[(v*3)+2]; // surf.VertexZ(v)

                                Vector vex;

                                vex.x=vx;

                                vex.y=vy;

                                vex.z=vz;

                                norm_map[vex]+=n;

                                }

                                }

                                int v;

                                for( v=0;v

                                float vx=vert_coords[v*3]; // surf.VertexX(v)

                                float vy=vert_coords[(v*3)+1]; // surf.VertexY(v)

                                float vz=vert_coords[(v*3)+2]; // surf.VertexZ(v)

                                Vector vert(vx,vy,vz);

                                //vert.x=vx;

                                //vert.y=vy;

                                //vert.z=vz;

                                Vector norm=norm_map[vert];

                                //If !norm Continue;

                                norm.normalize();

                                vert_norm[v*3+0]=norm.x; // surf.VertexNormal(v,norm.x,norm.y,norm.z)

                                vert_norm[v*3+1]=norm.y; // surf.VertexNormal(v,norm.x,norm.y,norm.z)

                                vert_norm[v*3+2]=norm.z; // surf.VertexNormal(v,norm.x,norm.y,norm.z)

                                }

                                }

                                int TriangleVertex(int tri_no,int corner,short* tris){

                                int vid[3];

                                tri_no=(tri_no+1)*3;

                                vid[0]=tris[tri_no-1];

                                vid[1]=tris[tri_no-2];

                                vid[2]=tris[tri_no-3];

                                return vid[corner];

                                }

                                // Given segment pq and triangle abc, returns whether segment intersects

                                // triangle and if so, also returns the barycentric coordinates (u,v,w)

                                // of the intersection point

                                int C_IntersectSegmentTriangle( float px, float py, float pz,

                                float qx, float qy, float qz,

                                float ax, float ay, float az,

                                float bx, float by, float bz,

                                float cx, float cy, float cz,

                                float &u, float &v, float &w, float &t)

                                {

                                Vector p,q,a,b,c;

                                p.x=px;p.y=py;p.z=pz;q.x=qx,q.y=qy;q.z=qz;a.x=ax;a.y=ay;a.z=az;b.x=bx;b.y=by;b.z=bz;c.x=cx;c.y=cy;c.z=cz;

                                Vector ab = b - a;

                                Vector ac = c - a;

                                Vector qp = p - q;

                                // Compute triangle normal. Can be precalculated or cached if

                                // intersecting multiple segments against the same triangle

                                Vector n = ab.cross(ac);

                                // Compute denominator d. If d

                                // away from triangle, so exit early

                                float d = qp.dot(n);

                                if (d

                                // Compute intersection t value of pq with plane of triangle. A ray

                                // intersects iff 0

                                // dividing by d until intersection has been found to pierce triangle

                                Vector ap = p - a;

                                t = ap.dot(n);

                                if (t

                                if (t > d) return 0; // For segment; exclude this code line for a ray test

                                // Compute barycentric coordinate components and test if within bounds

                                Vector e = qp.cross(ap);

                                v = ac.dot(e);

                                if (v d) return 0;

                                w = -(ab.dot(e));

                                if (w d) return 0;

                                // Segment/ray intersects triangle. Perform delayed division and

                                // compute the last barycentric coordinate component

                                float ood = 1.0f / d;

                                t *= ood;

                                v *= ood;

                                w *= ood;

                                u = 1.0f - v - w;

                                return 1;

                                }

                                1 Risposta Ultima Risposta
                                0
                                • T Non in linea
                                  T Non in linea
                                  Totocellux
                                  scritto su ultima modifica di
                                  #156

                                  bonis62 ha scritto:

                                  quindi questo qui sotto non centra nulla con quel codice essendo c++, vero ?

                                  #include "geom.h"

                                  #include

                                  #include

                                  using namespace std;

                                  extern "C"{

                                  void C_UpdateNormals(int,int,short *,float *,float *);

                                  int C_IntersectSegmentTriangle( float px, float py, float pz,

                                  float qx, float qy, float qz,

                                  float ax, float ay, float az,

                                  float bx, float by, float bz,

                                  float cx, float cy, float cz,

                                  float &u, float &v, float &w, float &t);

                                  }

                                  int TriangleVertex(int,int,short*);

                                  void C_UpdateNormals(int no_tris,int no_verts,short *tris,float *vert_coords,float *vert_norm){

                                  int t;

                                  map norm_map;

                                  for( t=0;t

                                  int tri_no=(t+1)*3;

                                  int v0=tris[tri_no-3];

                                  int v1=tris[tri_no-2];

                                  int v2=tris[tri_no-1];

                                  float ax=vert_coords[v1*3+0]-vert_coords[v0*3+0];

                                  float ay=vert_coords[v1*3+1]-vert_coords[v0*3+1];

                                  float az=vert_coords[v1*3+2]-vert_coords[v0*3+2];

                                  float bx=vert_coords[v2*3+0]-vert_coords[v1*3+0];

                                  float by=vert_coords[v2*3+1]-vert_coords[v1*3+1];

                                  float bz=vert_coords[v2*3+2]-vert_coords[v1*3+2];

                                  float nx=(ay*bz)-(az*by); // surf.TriangleNX#(t)

                                  float ny=(az*bx)-(ax*bz); // surf.TriangleNX#(t)

                                  float nz=(ax*by)-(ay*bx); // surf.TriangleNX#(t)

                                  Vector n(nx,ny,nz);

                                  n.normalize();

                                  int c;

                                  for( c=0;c

                                  int v=TriangleVertex(t,c,tris);

                                  float vx=vert_coords[v*3]; // surf.VertexX(v)

                                  float vy=vert_coords[(v*3)+1]; // surf.VertexY(v)

                                  float vz=vert_coords[(v*3)+2]; // surf.VertexZ(v)

                                  Vector vex;

                                  vex.x=vx;

                                  vex.y=vy;

                                  vex.z=vz;

                                  norm_map[vex]+=n;

                                  }

                                  }

                                  int v;

                                  for( v=0;v

                                  float vx=vert_coords[v*3]; // surf.VertexX(v)

                                  float vy=vert_coords[(v*3)+1]; // surf.VertexY(v)

                                  float vz=vert_coords[(v*3)+2]; // surf.VertexZ(v)

                                  Vector vert(vx,vy,vz);

                                  //vert.x=vx;

                                  //vert.y=vy;

                                  //vert.z=vz;

                                  Vector norm=norm_map[vert];

                                  //If !norm Continue;

                                  norm.normalize();

                                  vert_norm[v*3+0]=norm.x; // surf.VertexNormal(v,norm.x,norm.y,norm.z)

                                  vert_norm[v*3+1]=norm.y; // surf.VertexNormal(v,norm.x,norm.y,norm.z)

                                  vert_norm[v*3+2]=norm.z; // surf.VertexNormal(v,norm.x,norm.y,norm.z)

                                  }

                                  }

                                  int TriangleVertex(int tri_no,int corner,short* tris){

                                  int vid[3];

                                  tri_no=(tri_no+1)*3;

                                  vid[0]=tris[tri_no-1];

                                  vid[1]=tris[tri_no-2];

                                  vid[2]=tris[tri_no-3];

                                  return vid[corner];

                                  }

                                  // Given segment pq and triangle abc, returns whether segment intersects

                                  // triangle and if so, also returns the barycentric coordinates (u,v,w)

                                  // of the intersection point

                                  int C_IntersectSegmentTriangle( float px, float py, float pz,

                                  float qx, float qy, float qz,

                                  float ax, float ay, float az,

                                  float bx, float by, float bz,

                                  float cx, float cy, float cz,

                                  float &u, float &v, float &w, float &t)

                                  {

                                  Vector p,q,a,b,c;

                                  p.x=px;p.y=py;p.z=pz;q.x=qx,q.y=qy;q.z=qz;a.x=ax;a.y=ay;a.z=az;b.x=bx;b.y=by;b.z=bz;c.x=cx;c.y=cy;c.z=cz;

                                  Vector ab = b - a;

                                  Vector ac = c - a;

                                  Vector qp = p - q;

                                  // Compute triangle normal. Can be precalculated or cached if

                                  // intersecting multiple segments against the same triangle

                                  Vector n = ab.cross(ac);

                                  // Compute denominator d. If d

                                  // away from triangle, so exit early

                                  float d = qp.dot(n);

                                  if (d

                                  // Compute intersection t value of pq with plane of triangle. A ray

                                  // intersects iff 0

                                  // dividing by d until intersection has been found to pierce triangle

                                  Vector ap = p - a;

                                  t = ap.dot(n);

                                  if (t

                                  if (t > d) return 0; // For segment; exclude this code line for a ray test

                                  // Compute barycentric coordinate components and test if within bounds

                                  Vector e = qp.cross(ap);

                                  v = ac.dot(e);

                                  if (v d) return 0;

                                  w = -(ab.dot(e));

                                  if (w d) return 0;

                                  // Segment/ray intersects triangle. Perform delayed division and

                                  // compute the last barycentric coordinate component

                                  float ood = 1.0f / d;

                                  t *= ood;

                                  v *= ood;

                                  w *= ood;

                                  u = 1.0f - v - w;

                                  return 1;

                                  }

                                  eh si, direi proprio che c'entri nulla con il Basic utilizzato in BlitzMax e Blitz3D.

                                  ma da dove proviene?

                                  1 Risposta Ultima Risposta
                                  0
                                  • A Non in linea
                                    A Non in linea
                                    apix_1024
                                    scritto su ultima modifica di
                                    #157

                                    bonis62 ha scritto:

                                    ma ce anche la superpippa I ? :2funny:

                                    ovvio la superpippa I è il phenom I° modello... se il Phenom II è così lento nel calcolo dei numeri primi (toto ha spiegato il perchè egregiamente) non oso immaginare il pippa I° che aveva anche meno mhz...:asd::asd::asd:

                                    1 Risposta Ultima Risposta
                                    0
                                    • X Non in linea
                                      X Non in linea
                                      Xstreme
                                      scritto su ultima modifica di
                                      #158

                                      Totocellux ha scritto:

                                      eh si, direi proprio che c'entri nulla con il Basic utilizzato in BlitzMax e Blitz3D.

                                      ma da dove proviene?

                                      ---------------------------------------------

                                      eh no, io direi proprio che non ci siamo :) ,

                                      al contrario,

                                      è una parte rilevante dell'eseguibile

                                      grafico che tu definisci "Blitzmax/OpenGL"

                                      e che hai avuto modo di vedere,

                                      se rileggi bene il codice C,

                                      esso è un

                                      extern "C"

                                      il funzionamento del binding di interazione lo puoi trovare qui :

                                      ---------------------------------------------

                                      http://www.ibiblio.org/pub/Linux/docs/HOWTO/translations/it/html_single/C++-dlopen.html.gz

                                      3.1. extern "C"

                                      In C++, una keyword indica che una funzione deve impiegare la convenzione di linking (il termine comunemente usato è "binding" - N.d.T.) usata in 😄 extern "C". Una funzione dichiarata extern "C" viene rappresentata da un simbolo coincidente con il nome della funzione, esattamente come in C. Per questa ragione, solo funzioni che non sono metodi di una classe possono essere dichiarate extern "C", e non possono essere overloaded.

                                      Nonostante le serie limitazioni, funzioni dichiarate extern "C" sono estremamente utili nel nostro scenario perché possono essere caricate dinamicamente utilizzando dlopen esattamente come una funzione C.

                                      Questo non significa che una funzione dichiarata come extern "C" non può contenere codice C++: detta funzione è una funzione C++ a tutti gli effetti che può utilizzare le funzionalità del linguaggio C++ e ricevere qualunque tipo di argomento il programmatore desideri.

                                      ----------------------------------------------------------

                                      se riesci a vedere un binding con un api monitor, o con editor HEX,

                                      in un compilato eseguibile e

                                      ...pubblicamente ....

                                      mi indichi dove avviene il riversamento della procedura,

                                      ..... pubblicamente....

                                      hai la cena pagata :briai: .

                                      ps

                                      eventialmente per non farti vedere il codice usavo questo :

                                      http://upx.sourceforge.net

                                      1 Risposta Ultima Risposta
                                      0
                                      • X Non in linea
                                        X Non in linea
                                        Xstreme
                                        scritto su ultima modifica di
                                        #159

                                        apix_1024 ha scritto:

                                        ovvio la superpippa I è il phenom I° modello... se il Phenom II è così lento nel calcolo dei numeri primi (toto ha spiegato il perchè egregiamente) non oso immaginare il pippa I° che aveva anche meno mhz...:asd::asd::asd:

                                        sinceramente per "giocare" trovo gli AMD più vivi degli Intel,

                                        anche se il gioco e sempre lo stesso, giocato con un AMD

                                        è più "appassionante", non sò perche, ma a me fà cosi,

                                        forse è solo una mia suggestione :)

                                        1 Risposta Ultima Risposta
                                        0
                                        • X Non in linea
                                          X Non in linea
                                          Xstreme
                                          scritto su ultima modifica di
                                          #160

                                          comunque visto che siamo in argomento

                                          io personalmente per la vedere ram uso questa

                                          classe :

                                          include

                                          int TotalPhysicalMemory(void){

                                          MEMORYSTATUS ms;

                                          GlobalMemoryStatus(&ms);

                                          return ms.dwTotalPhys;

                                          }

                                          int AvailPhysicalMemory(void){

                                          MEMORYSTATUS ms;

                                          GlobalMemoryStatus(&ms);

                                          return ms.dwAvailPhys;

                                          }

                                          int TotalVirtualMemory(void){

                                          MEMORYSTATUS ms;

                                          GlobalMemoryStatus(&ms);

                                          return ms.dwTotalVirtual;

                                          }

                                          int AvailVirtualMemory(void){

                                          MEMORYSTATUS ms;

                                          GlobalMemoryStatus(&ms);

                                          return ms.dwAvailVirtual;

                                          }

                                          int TotalPageFileMemory(void){

                                          MEMORYSTATUS ms;

                                          GlobalMemoryStatus(&ms);

                                          return ms.dwTotalPageFile;

                                          }

                                          int AvailPageFileMemory(void){

                                          MEMORYSTATUS ms;

                                          GlobalMemoryStatus(&ms);

                                          return ms.dwAvailPageFile;

                                          }

                                          int MemoryLoad(void){

                                          MEMORYSTATUS ms;

                                          GlobalMemoryStatus(&ms);

                                          return ms.dwMemoryLoad / 2;

                                          }

                                          mentre per vedere lo spazio su disco fisso uso questa :

                                          #include

                                          int diskSpace;

                                          int GetDiskSpace(void)

                                          {

                                          int const drive = _getdrive();

                                          struct _diskfree_t diskfree;

                                          _getdiskfree(drive,&diskfree);

                                          __int64 diskSpace=(__int64)diskfree.avail_clusters*(__int64)diskfree.sectors_per_cluster*(__int64)diskfree.bytes_per_sector;

                                          diskSpace/=1000;

                                          return (int)diskSpace;

                                          }

                                          toto basta chiedere che ti verrà dato :)

                                           

                                          se vuoi vedere anche le classi per cpu , sistema

                                          operativo, sincronia dei thread , cores , priority,

                                          , affinity ecc ecc dimmelo che te le posto. :)

                                          1 Risposta Ultima Risposta
                                          0

                                          Ciao! Sembra che tu sia interessato a questa conversazione, ma non hai ancora un account.

                                          Stanco di dover scorrere gli stessi post a ogni visita? Quando registri un account, tornerai sempre esattamente dove eri rimasto e potrai scegliere di essere avvisato delle nuove risposte (tramite email o notifica push). Potrai anche salvare segnalibri e votare i post per mostrare il tuo apprezzamento agli altri membri della comunità.

                                          Con il tuo contributo, questo post potrebbe essere ancora migliore 💗

                                          Registrati Accedi
                                          Rispondi
                                          • Risposta alla discussione
                                          Effettua l'accesso per rispondere
                                          • Da Vecchi a Nuovi
                                          • Da Nuovi a Vecchi
                                          • Più Voti


                                          • Accedi

                                          • Non hai un account? Registrati

                                          • Accedi o registrati per effettuare la ricerca.
                                          Powered by NodeBB Contributors
                                          • Primo post
                                            Ultimo post
                                          0
                                          • Categorie
                                          • Recenti
                                          • Tag
                                          • Popolare
                                          • Utenti
                                          • Gruppi