Date : 28/10/2013 08:35:47
Lieu : Hanoi - Vietnam
Fournisseur d'accès : Autre - vnn
Navigateur : Mozilla Firefox
Débit descendant : 1,4 Mbit/s
Débit montant : 1,1 Mbit/s
Latence : 183 ms
Gigue : 2 ms
Ping : 357 ms

Date : 28/10/2013 08:35:47
Lieu : Hanoi - Vietnam
Fournisseur d'accès : Autre - vnn
Navigateur : Mozilla Firefox
Débit descendant : 1,4 Mbit/s
Débit montant : 1,1 Mbit/s
Latence : 183 ms
Gigue : 2 ms
Ping : 357 ms
Fournisseur d'accès : France Telecom S.A.
Navigateur : Mozilla Firefox
Adresse IP : ***********
Débit descendant : 7,8 Mbit/s
Débit montant : 0,8 Mbit/s
Latence : 27 ms
Gigue : 1 ms
Ping : 0 ms
Code : Tout sélectionner
Procedure.f min(a.f,b.f)
If a<b
ProcedureReturn a
EndIf
ProcedureReturn b
EndProcedure
Procedure.f max(a.f,b.f)
If a>b
ProcedureReturn a
EndIf
ProcedureReturn b
EndProcedure
;//////////////////////////////////////////////////////////////////////////////
;//
;//////////////////////////////////////////////////////////////////////////////
Structure sVector2f
x.f
y.f
EndStructure
;//////////////////////////////////////////////////////////////////////////////
;//
;//////////////////////////////////////////////////////////////////////////////
ProcedureDLL.i createVector2f(x.f, y.f)
*v.sVector2f = AllocateMemory(SizeOf(sVector2f))
If *v
*v\x = x
*v\y = y
ProcedureReturn *v
EndIf
EndProcedure
;//////////////////////////////////////////////////////////////////////////////
;//
;//////////////////////////////////////////////////////////////////////////////
ProcedureDLL deleteVector2f(*v.sVector2f)
If *v
*v\x = #Null
*v\y = #Null
FreeMemory(*v)
EndIf
EndProcedure
;//////////////////////////////////////////////////////////////////////////////
;//
;//////////////////////////////////////////////////////////////////////////////
ProcedureDLL addVector2f(*result.sVector2f, *a.sVector2f, *b.sVector2f)
*result\x = *a\x + *b\x
*result\y = *a\y + *b\y
EndProcedure
;//////////////////////////////////////////////////////////////////////////////
;//
;//////////////////////////////////////////////////////////////////////////////
ProcedureDLL subVector2f(*result.sVector2f, *a.sVector2f, *b.sVector2f)
*result\x = *a\x - *b\x
*result\y = *a\y - *b\y
EndProcedure
;//////////////////////////////////////////////////////////////////////////////
;//
;//////////////////////////////////////////////////////////////////////////////
ProcedureDLL mulVector2f(*result.sVector2f, *a.sVector2f, *b.sVector2f)
*result\x = *a\x * *b\x
*result\y = *a\y * *b\y
EndProcedure
;//////////////////////////////////////////////////////////////////////////////
;//
;//////////////////////////////////////////////////////////////////////////////
ProcedureDLL divVector2f(*result.sVector2f, *a.sVector2f, *b.sVector2f)
If *b\x <> 0
*result\x = *a\x / *b\x
EndIf
If *b\y <> 0
*result\y = *a\y / *b\y
EndIf
EndProcedure
;//////////////////////////////////////////////////////////////////////////////
;//
;//////////////////////////////////////////////////////////////////////////////
ProcedureDLL scaleVector2f(*a.sVector2f, value.f)
*a\x * value
*a\y * value
EndProcedure
;//////////////////////////////////////////////////////////////////////////////
;//
;//////////////////////////////////////////////////////////////////////////////
ProcedureDLL.f squareLengthVector2f(*v.sVector2f)
ProcedureReturn (*v\x * *v\x) + (*v\y * *v\y)
EndProcedure
;//////////////////////////////////////////////////////////////////////////////
;//
;//////////////////////////////////////////////////////////////////////////////
ProcedureDLL.f lengthVector2f(*v.sVector2f)
ProcedureReturn Sqr((*v\x * *v\x) + (*v\y * *v\y))
EndProcedure
;//////////////////////////////////////////////////////////////////////////////
;//
;//////////////////////////////////////////////////////////////////////////////
ProcedureDLL.f dotProductVector2f(*a.sVector2f, *b.sVector2f)
ProcedureReturn (*a\x * *b\x) + (*a\y * *b\y)
EndProcedure
;//////////////////////////////////////////////////////////////////////////////
;//
;//////////////////////////////////////////////////////////////////////////////
ProcedureDLL normalizeVector2f(*v.sVector2f)
l.f = Sqr((*v\x * *v\x) + (*v\y * *v\y))
If l > 0
*v\x / l
*v\y / l
EndIf
EndProcedure
;//////////////////////////////////////////////////////////////////////////////
;//
;//////////////////////////////////////////////////////////////////////////////
ProcedureDLL middlePointVector2f(*result.sVector2f, *a.sVector2f, *b.sVector2f)
*result\x = (*a\x + *b\x) * 0.5
*result\y = (*a\y + *b\y) * 0.5
EndProcedure
;//////////////////////////////////////////////////////////////////////////////
;//
;//////////////////////////////////////////////////////////////////////////////
ProcedureDLL lerpVector2f(*result.sVector2f, *a.sVector2f, *b.sVector2f, val.f)
*result\x = *a\x + (*b\x - *a\x) * val
*result\y = *a\y + (*b\y - *a\y) * val
EndProcedure
;//////////////////////////////////////////////////////////////////////////////
;//
;//////////////////////////////////////////////////////////////////////////////
ProcedureDLL.f crossProductVector2f(*a.sVector2f, *b.sVector2f)
ProcedureReturn *a\x * *b\y - *a\y * *b\x
EndProcedure
;//////////////////////////////////////////////////////////////////////////////
;//
;//////////////////////////////////////////////////////////////////////////////
ProcedureDLL randomDeviantVector2f(*v.sVector2f, angle.f)
angle = angle * Random(angle) * (#PI*2)
cosa.f = Cos(angle)
sina.f = Cos(angle)
*v\x = cosa * *v\x - sina - *v\y
*v\y = sina * *v\x + cosa * *v\y
EndProcedure
;//////////////////////////////////////////////////////////////////////////////
;//
;//////////////////////////////////////////////////////////////////////////////
ProcedureDLL perpendicularVector2f(*v.sVector2f)
Protected x.f = *v\x
Protected y.f = *v\y
*v\x = -y
*v\y = x
EndProcedure
;//////////////////////////////////////////////////////////////////////////////
;//
;//////////////////////////////////////////////////////////////////////////////
ProcedureDLL reflectVector2f(*v.sVector2f, *normal.sVector2f)
Protected dot.f = (*v\x * *normal\x) + (*v\y * *normal\y)
*v\x = *v\x - ( 2 * dot * *normal\x )
*v\y = *v\y - ( 2 * dot * *normal\y )
EndProcedure
;//////////////////////////////////////////////////////////////////////////////
;//
;//////////////////////////////////////////////////////////////////////////////
ProcedureDLL.i intersectVector2f(*p1.sVector2f,*p2.sVector2f,*p3.sVector2f,*p4.sVector2f)
Protected.f x1 = *p1\x, x2 = *p2\x, x3 = *p3\x, x4 = *p4\x;
Protected.f y1 = *p1\y, y2 = *p2\y, y3 = *p3\y, y4 = *p4\y;
Protected.d d = (x1 - x2) * (y3 - y4) - (y1 - y2) * (x3 - x4)
If d = 0
ProcedureReturn #Null
EndIf
Protected.f pre = (x1*y2 - y1*x2), post = (x3*y4 - y3*x4)
Protected.f x = ( pre * (x3 - x4) - (x1 - x2) * post ) / d
Protected.f y = ( pre * (y3 - y4) - (y1 - y2) * post ) / d
If ( x < min(x1, x2) Or x > max(x1, x2) Or x < min(x3, x4) Or x > max(x3, x4) )
ProcedureReturn #Null
EndIf
If ( y < min(y1, y2) Or y > max(y1, y2) Or y < min(y3, y4) Or y > max(y3, y4) )
ProcedureReturn #Null
EndIf
ProcedureReturn createVector2f(x,y)
EndProcedure
;//////////////////////////////////////////////////////////////////////////////
;//
;//////////////////////////////////////////////////////////////////////////////
*PositionA.sVector2f = createVector2f(100,100)
*PositionB.sVector2f = createVector2f(200,200)
*Interpolation.sVector2f = createVector2f(0,0)
For TIME = 1 To 1000
normalizedTime.f = (1/1000)*TIME ; 0.0 -> 1.0
lerpVector2f(*Interpolation, *PositionA, *PositionB, normalizedTime) ; 0.0 -> 1.0
Debug StrF(*Interpolation\x) + " : " + StrF(*Interpolation\y)
Next
Merci G-Rom pour ton retour d'expérience.G-Rom a écrit :Je viens de profilé l'application, elle ne rame pas, elle ne bouffe pas de bande passante non plus malgrès la musique.
Le problème viens donc du code serveur<->client
Ce que voulait dire Dobro c'est que le cube qui le représente ne ramait pas. Par contre les cubes représentant les autres joueurs sur son écran devaient saccader un peu. Ce qui est normal vu l'appel à la procédure de mise à jour fixé à 100 ms.G-Rom a écrit :donc Dobro au du forcé sur la bouteille en disant que c'est fluide, ou alors il cligne des yeux très vite et ne se rend plus compte de la réalité autour de lui
Je n'ai qu'un pc à base de Core duo qui date de 6 ans et je ne rame absolument pas. Bon par contre j'ai une connexion qui tourne plutôt pas mal. Pas une connexion en carton hein ?G-Rom a écrit :un i7 à 8 coeurs... Je fait tourné bf4 au taquet. donc c'est un problème de code, la partie réseau ne doit pas être correctement codé.
Premiere fois qu'un mail ne me parvient pas et il faut que ça tombe sur toiG-Rom a écrit :Si tu veut , je peu te filé un coup de paluche pour l'utilisation du code que je t'ai donner par mail, tu pourras avoir un serveur dédié , et ton serveur 1and1 stockera la liste de tout les serveurs disponible.
ha ha haG-Mail a écrit :Le message "Tornado" que jerome xxxxx (xxxxx@gmail.com) vous a envoyé contenait un virus. Si vous souhaitez écrire à jerome, il vous suffit de cliquer sur Répondre et d'envoyer un message à jerome. Merci, L'équipe Gmail
MerciG-Rom a écrit :j'ai vérifier comment procède gmail, il fait lui même une analyse en ligne lors de l'envois du fichier
y avait un build , une dll donc dedans, ceci explique surement le faux positif.
je te renvois l'archive sans dll