Prime Cores V1.0 Freeware
-
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

-
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

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.
-
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:
ma ce anche la superpippa I ?

-

bonis62 ha scritto:
http://www.xstreme.it/ttcl.zipho sempre voluto sapere con che directx e scritta sta
cosa, magari tu ci riesci

...... sono appena tornato a casa

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

-
Totocellux ha scritto:
...... sono appena tornato a casa

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


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;
}
-
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?
-
bonis62 ha scritto:
ma ce anche la superpippa I ?
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:
-
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
.ps
eventialmente per non farti vedere il codice usavo questo :
-
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:
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

-
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.

-
ho quasi finito la versione alpha
di Xssi, che vorrei integrare in
Primecores, qualcuno me la testa
per cortesia ?
grazie

-
sembra andare tutto bene pero' non mi dice che mobo ho
BoardManufacturer :
BaseBoardProduct :
BaseBoardVersion :
e su O.S. la stringa viene male
: O.S. Windows XP
Per il resto viene tutto bene anche se non bene indentato
-
One1ros ha scritto:
sembra andare tutto bene pero' non mi dice che mobo hoe su O.S. la stringa viene male
Per il resto viene tutto bene anche se non bene indentato
grazie,
scheda grafica la vede ?
che mobo hai ?
se non hai dati sensibili che vengono visualizzati me la posti ?
ps
non ho ancora fatto il debug su XP, ma vedo che andiamo già male


-
eccomi con quello che esce a me:
SystemRoot : C:Windows
windir : C:Windows
TEMP : C:UsersapixAppDataLocalTemp
ALLUSERSPROFILE : C:ProgramData
APPDATA : C:UsersapixAppDataRoaming
CommonProgramFiles : C:Program FilesCommon Files
COMPUTERNAME : APIX-PC
HOMEDRIVE :
LOGONSERVER : \APIX-PC
ProgramFiles : C:Program Files
SystemDrive :
USERDOMAIN : apix-PC
USERNAME : apix
USERPROFILE : C:Usersapix
NUMBER_OF_PROCESSORS : 4
PROCESSOR_ARCHITECTURE : x86
PROCESSOR_IDENTIFIER : x86 Family 16 Model 4 Stepping 2, AuthenticAMD
PROCESSOR_LEVEL : 16
PROCESSOR_REVISION : 0402
: O.S. Windows 7
Total physical : 2097151 Kb
Available physical : 896320 Kb
Disk space on current drive : 42576584 Kb
CPU Speed in MHz : 3604
CPU Name String : AMD Phenom? II X4 940 Processor
BoardManufacturer : ASUSTeK Computer INC.
BaseBoardProduct : M4A79 Deluxe
BaseBoardVersion : Rev 1.xx
GPU Board 1 : NVIDIA GeForce 8800 GT
-
a me non parte proprio l'ultima versione...si blocca su please wait for ecc ecc
-
In pratica mi viene come quella di apix solo che gli spazi tra le informazioni sono piu' ampi (penso sia un tab)
cambia il fatto che non mi visualizza la scheda video che è una intel DG965SS e la vga è quella integrata nel chipset G965, xssi dice:
NUMBER_OF_PROCESSORS : 2
PROCESSOR_ARCHITECTURE : x86
PROCESSOR_IDENTIFIER : x86 Family 6 Model 15 Stepping 2' date=' GenuineIntel
PROCESSOR_LEVEL : 6
PROCESSOR_REVISION : 0f02
: O.S. Windows XP
Total physical : 2070048 Kb
Available physical : 990580 Kb
Disk space on current drive : 42861760 Kb
CPU Speed in MHz : 2131
CPU Name String : Intel
Core?2 CPU 6400 @ 2.13GHzBoardManufacturer :
BaseBoardProduct :
BaseBoardVersion :
GPU Board 1 : Standard (Unknow - Custom - Integrated)
[/quote']
le informazioni di sistema che stanno sopra preferisco non postarle, cmq sono giuste
-
NUMBER_OF_PROCESSORS : 8
PROCESSOR_ARCHITECTURE : x86
PROCESSOR_IDENTIFIER : x86 Family 6 Model 26 Stepping 4, GenuineIntel
PROCESSOR_LEVEL : 6
PROCESSOR_REVISION : 1a04
: O.S. Windows XP
Total physical : 2097151 Kb
Available physical : 2097151 Kb
Disk space on current drive : 54889148 Kb
CPU Speed in MHz : 3800
CPU Name String : Intel
Core? i7 CPU 920 @ 2.67GHzBoardManufacturer :
BaseBoardProduct :
BaseBoardVersion :
GPU Board 1 : Standard (Unknow - Custom - Integrated)
mi da lo stesso errore
-
apix_1024 ha scritto:
eccomi con quello che esce a me:ok con seven e vista funziona quasi bene, ora lo
debuggo un po con XP e vediamo
a chi non vede la scheda grafica e la mobo
potrebbe dirmi le relative marche e i modelli ?
grazie del supporto :clapclap:
-
bear85roma ha scritto:
a me non parte proprio l'ultima versione...si blocca su please wait for ecc eccsi, ho presente, nell beta A4 dovrebbe essere tutto sistemato, ci sto lavorando .
prova a farlo partire da una chiavetta usb, funziona ?
-
bonis con calma aspetto non ti preoccupare e grazie di tutto!!!!!!
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