Devenir membre club
Connectez vous
Aide & règlement
Votre 1ère visite
Le règlement
Contacter les admins
Contacter le webmaster
Questions & réponses
Comment soutenir CodeS-SourceS
Comment faire un lien vers CodeS-SourceS
Autres questions
A propos & don
A propos du réseau
Les modérateurs
Remerciements
Faire un don
Le livre d'or
Tous les livres
Les dernières parutions
Les plus consultés
Les critiques
Le top des ventes
Le top favoris des membres
Recevoir des livres blancs
Tous les thèmes
Les derniers messages
Les nouveaux messages
Poser une question
Le Chat - IRC
Tous les tutoriels
Ajouter un tutoriel
Les tutoriels en vidéo
Les formations vidéos
Tous les codes
Ajouter un code
Filtrer par catégorie
Filtrer par date
Les plus récents
Les mis à jour
Les codes par jour
Filtrer par niveau
Niveau débutant
Niveau initié
Niveau expert
Filtrer par type
Les codes avec capture
Les codes avec zip
Les codes .Net
Filtrer par qualité
Les plus populaires
Les plus populaires du mois
Les plus téléchargés
Les mieux notés
Top par catégorie
Top des favoris
Filtrer par auteur
Tous les auteurs
Le top des membres
Les snippets
Déposer votre CV
Consulter les offres d'emploi ou de stage
Consulter les CVs
Déposer une offre d'emploi ou de stage
Modèles de CV et lettres
Trouver une convention collective
Les écoles d'informatique
Toutes les écoles
Ajouter une école
Les outils
Outils pour développeurs
Trouver des ressources
Base de données de CodeS-SourceS
Télécharger les meilleurs logiciels
Comparer les prix
Envoyer des ecards
Création de bannières
Annuaire de la prog
Tous les sites
Ajouter votre site
Le dico de la prog
Toutes les définitions
Ajouter une définition
Les évènements
Tous les évènements
Les évènements à venir
Ajouter un évènement
Téléchargements
CodeS-SourceS Toolbox
CodeS-SourceS Toolbar
Toolbar pour FireFox
Fonds d'écran
Les compil's
Nos partenaires
Magazine Programmez
Frontier.fr
Xiti
ProgOnline
Winwise
Editions Eyrolles
Toute la liste
Les RFC
CS
VB, VB.NET
ASP.NET,ASP
C, C++
ColdFusion
PHP
Javascript
Delphi
Flash
Java
Graphisme
Irc
Assembleur
C#
Mobilité
SQL
Foxpro
Python
Regex
Flex
Windev
Ce site au démarrage
begin process at 2012 02 11 05:10:48
Accueil
Codes
Tutoriels
Forum
Livres
Emploi
Services
Connexion
Trouver un code source :
dans
Tout le site
Codes
Tutoriels
Forum
Blogs
Livres
RFC
Icones
News .NET
Boutique
[ Dernières recherches ]
Veuillez saisir votre recherche... Ex: smtp, lire un fichier, rs232
Options de recherche :
Tous les codes
Tous les codes en .Net
Tous les codes sauf .Net
Langages disponibles :
Tous les langages
ASP / ASP.NET
Assembleur
C / C++ / C++.NET
C# / C#.NET
ColdFusion
Delphi
Flash
Flex, Air, ActionScript
Foxpro
Graphisme
IRC
JAVA / J2EE
Javascript / Ajax / DHTML
PDA / PocketPC
PHP
Python
Regex, Regular Expression, Expression régulière
SQL
Visual Basic, VB6, VB.NET, VB 2005, VB
789 commentaire(s) de cirec
sur des sources sur tout
CodeS-SourceS
Déposé sur
Raytracing en delphi (progressive path tracing)
j'attendais la mise à jour pour me manifester
de toute façon ces discutions me dépassent ... j'étais pour ainsi-dire << Lost in Comments >> ^^
comme l'a d'ailleurs fait remarquer John Dogget, je ne dois pas être le seul dans cette situation.
Sinon que dire ...
oui c'est vachement plus rapide qu'avant et c'était déjà un sacré boulot mais là c'est encore mieux !! Bravo
Quand on pense où notre jeune ami en était il y a tout juste deux ans encore ... Tu as fait énormément de progrès en peu de temps et maintenant tu en imposes déjà dans plusieurs secteurs de programmation. si si je le pense.
Pour tout ça et le reste ...
Bravo, Félicitations et Merci de le partager avec nous ;)
Note :10/10
Il y a juste une petite chose qui me chagrine ... :
[Mode Recherche la petite bête]
je peux pas m'empêcher de dire que dans l'évènement OnTimer il n'est pas utile de mettre 10/Sec. à jour boutons et icônes:
SettingsBtn.Enabled := not Running;
PlayPauseBtn.Enabled := Running;
StopBtn.Enabled := Running;
SaveBtn.Enabled := Running;
if not Running then PlayPauseBtn.ImageIndex := 2 else
if Tracer.Suspended then PlayPauseBtn.ImageIndex := 2 else PlayPauseBtn.ImageIndex := 3;
[/Mode Recherche la petite bête]
@++
Posté le :
09/01/2012 22:19:36
Déposé sur
Cryptage et decryptage
Problème résolu
le "+" de "Login + CryptageDecryptage" posait un problème
Posté le :
07/01/2012 20:11:48
Déposé sur
Raytracing en delphi (progressive path tracing)
Salut et bonne et heureuse année à toutes et à tous,
je rejoins John Dogget sur le fait que ce soit un gouffre à ressources ...
bien que tu aies prévenu de la lenteur du procédé je ne suis pas d'accord avec ça.
Même sur mon vieux P4 3.2Ghz HT ça devrait tourner beaucoup plus vite que ça ... il devrait être capable de faire des milliers de passes par seconde (surtout en 32x32) ... ce qui est loin d'être le cas !!!
Quand on travaille avec des images il faut faire très attention ... la moindre décision peut doubler le temps d'exécution. Par Ex. vouloir rendre le code lisible en le séparant en procédures, fonctions et unités ... peut avoir un effet dévastateur.
(voir les discutions à ce sujet sur la source de Caribensila:
http://www.delphifr.com/code.aspx?ID=52162#comm387377 )
L'évènement OnTimer réglé à 17ms ... avec le code qu'il contient, est extrêmement couteux
Transformer les objets en Pointeurs et inversement me semble également inutile.
Les instances d'objets sont déjà des pointeurs (en quelque sorte)
un petit exemple sans prétention pour le prouver:
// 2 TImage
// 1 TButton
//
// but:
// passer un objet directement par son adresse
// copier Image1.Picture.Bitmap dans Image2.Picture.Bitmap par l'adresse de "MaClass"
// ps :Image1.Picture.Bitmap doit contenir un Bitmap
TMaClass = class
private
FBitmap: TBitmap;
public
property Bitmap: TBitmap read FBitmap write FBitmap;
end;
var
Form11: TForm11;
MaClass: TMaClass;
implementation
{$R *.dfm}
procedure TestObject(const Obj: Integer);
begin
Form11.Image2.Picture.Bitmap := TMaClass(Obj).Bitmap;
end;
procedure TForm11.FormCreate(Sender: TObject);
begin
MaClass := TMaClass.Create;
end;
procedure TForm11.Button1Click(Sender: TObject);
begin
MaClass.Bitmap := Image1.Picture.Bitmap;
TestObject(Integer(MaClass));
end;
procedure TForm11.FormDestroy(Sender: TObject);
begin
MaClass.Free;
end;
end.
et voilà ... on obtient le même résultat
le fait de faire:
PTMaClass = ^TMaClass;
Met une adresse dans pointeur ce qui n'apporte rien de plus si ce n'est des "transtypages" inutiles.
J'ai pas mis de commentaires dans le code ... mais il est simple à comprendre.
Sinon,
T'as fait un put.. sacré travail
pas de fuites
pas de crashs
Bravo
Conclusion, je pense sincèrement qu'on peut encore augmenter la vitesse d'exécution.
rien qu'en se passant de l'affichage du résultat en direct, les temps devraient être divisés par deux (pour un même résultat)
Posté le :
03/01/2012 12:57:56
Déposé sur
Deux bibliothèques pour calculer avec des entiers très grands
@Pseudo3:
tiens voici l'adresse de DelForExp l'un des "formateurs" de codes les plus utilisé ... de D2 à D2007
http://www.aew.wur.nl/UK/Delforexp/
il existe une version qui s'intègre à l'IDE et une Standalone.
Posté le :
16/12/2011 15:43:09
Déposé sur
Comment dessiner sur un tcanvas le texte d'une formule chimiq...
@Pseudo3:
"
1) "Pourquoi avoir mis EXIT au début de FormPaint ? "
... Bigre, je n'ai pas trouvé d'EXIT dans FormPaint ???
"
tu vois ... avec une indentation plus "standard" tu aurais vu l'instruction "Exit;" du premier coup d'oeil.
procedure TForm1.FormPaint(Sender: TObject);
var i,x,y : integer;
R,G,B,dr,dg,db : byte; //<- pour tracé avec ombre (pendant qu'on y est)
begin EXIT;
...
end;
Posté le :
16/12/2011 15:38:04
Déposé sur
Texte sur courbe de bezier
@Caribensila:
« - T'es le Davy Crockett de Delphifr, et c'est pour ça que je t'appelle "chef" ! ;)»
j'irai pas jusque là ... mais merci ^^
à partir de Delphi2006 (TurboDelphi) tout le monde peut en faire autant.
pour ce faire il suffit d'ajouter une ligne dans le *dpr ...
begin
ReportMemoryLeaksOnShutdown := True;
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
end.
et quand on quitte l'application si de la mémoire alloué par le programme n'est pas libéré une message box s'affiche indiquant quels objets ou autres pointeurs ... ensuite y a plus qu'à chercher les Create/Free GetMem/FreeMem et de vérifier les quels manquent.
Sinon une petite précision pour Pseudo3:
il faut bien faire la différence entre assignation et égalité.
Ex.
BMP1, BMP2 : TBitmap;
Bmp1.Assign(Bmp2);
est différent de
Bmp1 := Bmp2;
dans le premier cas Bmp1 copie toutes les valeurs de Bmp2 (il en fait un clone) mais ce sont deux objets bien distincts (Bmp1 et Bmp2 pointent sur adresses mémoire différentes)
modifier Bmp1 n'affecte pas Bmp2
alors qu'avec
Bmp1 := Bmp2;
Bmp1 devient Bmp2 (ils pointent sur la même adresse mémoire)
modifier Bmp1 revient à modifier Bmp2
en faisant Bmp1.Free; ce sont les deux qui sont touchés
et si on avait pas libéré Bmp1 avant ... on a une fuite de mémoire.
Posté le :
10/12/2011 19:49:18
Déposé sur
Texte sur courbe de bezier
Voilà ...
comme t'as fais du bon travail en appliquant les modifications ...
j'ai traqué les dernières fuites !!!
dans l'unité uManipBMP2.pas:
on peut supprimer le code du destructeur puisqu'on on a plus d'objet à détruire ...
type
TTexteSurBezier = class(TObject)
...
constructor Create(inbPointsC: integer); // Pré-calcul coeffs Bézier
// *** la surcharge du contructeur est devenue inutile depuis
// qu'on a plus d'objet à détruire (Fonte)
{destructor Destroy; override;}
...
// *** supprimé depuis qu'on a plus à détruire l'objet Fonte
{destructor TTexteSurBezier.Destroy;
begin
//if Assigned(Fonte) then Fonte.Free;
inherited Destroy;
end;}
explication:
il restait une fuite sur TFont et celle-ci se trouvait dans la procédure TTexteSurBezier.Add
begin
...
// *** supprimé car inutile et source de fuite de mémoire
//Fonte:=tFont.Create;
//Fonte.Assign(iFonte);
// *** remplacé par:
Fonte := iFonte;
...
end;
Dans l'unité uTexteSurBezier.pas
c'est la procédure FormCloseQuery qui est modifié.
elle causait une double fuite
la première sur BMPUndo qui n'était pas libéré
et une double sut BMPUndo & TexteSurBezier si on essayait de fermer avec VentActif à True:
procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
if VentActif then
begin
showmessage('Stopper le "vent" avant de quitter, sinon V.A.');
CanClose := False; // *** < empeche la fermeture
end
// *** ajouté pour éviter une fuite si on essayait de fermer avec Vent Actif
else
begin
CanClose := True;
TexteSurBezier.Free;
BmpUndo.Free; // *** Manquait
end;
end;
et un petit + pour que l'animation de vent soit une peu plus fluide:
repeat
for i := 0 to 14 do
begin
image1.Picture.Bitmap.assign(BD[i]);
if (not bVent.Down) then
goto Stop;
Application.ProcessMessages;
end;
// *** ajouté pour un effet aller - retour plus naturel
for i := 14 downto 0 do
begin
image1.Picture.Bitmap.assign(BD[i]);
if (not bVent.Down) then
goto Stop;
Application.ProcessMessages;
end;
until (not bVent.Down);
c'est pas grand chose mais ça fait un peu moins cyclique.
il ne manque plus qu'une indentation plus standard ...
parce que là franchement c'est hard de te lire et il y a quand même plusieurs chose qu'il faudrait changer/améliorer ... à mon avis
en dehors de la vitesse et donc de l'affichage ... la gestion des poignées ainsi que le déplacement du texte devraient être intégrées à TTexteSurBezier.
ça n'en reste pas moins du bon travail. Bravo
Posté le :
10/12/2011 18:22:28
Déposé sur
Texte sur courbe de bezier
Dans FireFox:
Menu Outils -> Options -> avancé -> Onglet Réseau et cliquer sur vider le cache.
c'était pas utile de re déposer l'image à partir du moment ou je t'annonce que je vois ta nouvelle capture on pouvait en déduire que le problème ne vient plus du serveur mais de ton PC
pour le reste j'ai pas encore regardé le nouveau code.
Posté le :
10/12/2011 16:38:37
Déposé sur
Texte sur courbe de bezier
...
bis
bon alors je ne sais comment le dire mais il va falloir faire quelque chose pour ces fuites ... pour l'instant au lieu de diminuer elles augmentent (voir rapport ci-joint)
---------------------------
Unexpected Memory Leak
---------------------------
An unexpected memory leak has occurred. The unexpected small block leaks are:
21 - 28 bytes: TBrush x 1
29 - 36 bytes: TPen x 1, Unknown x 2
37 - 44 bytes: TFont x 1
61 - 68 bytes: TBitmap x 2
101 - 108 bytes: TBitmapCanvas x 1
117 - 124 bytes: TBitmapImage x 2
149 - 156 bytes: Unknown x 1
---------------------------
OK
---------------------------
ps cette fuite est causé uniquement par un seul texte et l'exécution du "Vent"
avec un simple texte sans rien d'autre il reste:
---------------------------
Unexpected Memory Leak
---------------------------
An unexpected memory leak has occurred. The unexpected small block leaks are:
61 - 68 bytes: TBitmap x 1
117 - 124 bytes: TBitmapImage x 1
---------------------------
OK
---------------------------
Posté le :
09/12/2011 18:06:56
Déposé sur
Texte sur courbe de bezier
...
La dernière version avec effet vent tourne à 47% de charge CPU chez moi ...
avec les valeurs par défaut de l'interface
Posté le :
09/12/2011 17:56:41
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
Nos sponsors
Derniers Blogs
[SHAREPOINT] LES SESSIONS TECHDAYS 2012.
[SHAREPOINT] LES SESSIONS TECHDAYS 2012.
par Patrick Guimonet
Voici donc pour ceux qui n'ont pas pu venir, ou ceux qui n'ont pas pu toutes les suivre la liste des sessions SharePoint aux TechDays 2012, que je mettrais à jour dès que les liens des vidéo seront disponibles. Ou ici : http...
Cliquez pour lire la suite de l'article
par Patrick Guimonet
TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3
TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3
par ROMELARD Fabrice
Speaker: Bernard Ourghanlian Cette session est comme chaque jour transmise en live par BrainSonic, et j'ai donc suivi cette troisième pleinière par ce moyen sur mon iPad . Elle est dédiée comme chaque année à la mise en perspective de l'é...
Cliquez pour lire la suite de l'article
par ROMELARD Fabrice
MISHRA READER : UN LECTEUR RSS TRèS ZUNE STYLE EN OPEN SOURCE !
MISHRA READER : UN LECTEUR RSS TRèS ZUNE STYLE EN OPEN SOURCE !
par Vko
Hier durant une session dédiée aux Techdays 2012, j'ai eu le plaisir d'annoncer la sortie de la Béta 2 de Mishra Reader. C'est quoi ? Pour les utilisateurs, c'est une vraie expérience de lecture de flux RSS sur Windows. Rien à voir avec les produit...
Cliquez pour lire la suite de l'article
par Vko
[FRAMEWORK 4] LES TASKS ET LE THREAD UI
[FRAMEWORK 4] LES TASKS ET LE THREAD UI
par fathi
Je viens de passer quelques temps au TechDay's et j'ai pu voir pas mal de session intéressante. Par contre une chose m'a un peu étonné lors de certaines de ces sessions qui abordaient les améliorations du framework .NET (donc le 4.5) : en gros, bea...
Cliquez pour lire la suite de l'article
par fathi
WORKFLOW FOUNDATION 3 A UN PIED DANS LA TOMBE
WORKFLOW FOUNDATION 3 A UN PIED DANS LA TOMBE
par JeremyJeanson
Depuis déjà un an, je conseille vivement les utilisateurs de Workflow Foundation 3 à migrer vers la version 4. L'information qui va suivre ne devrait donc pas trop prendre au dépourvu les personnes qui m'ont suivi. Je profite de ce poste, pour faire le re...
Cliquez pour lire la suite de l'article
par JeremyJeanson
La suite
RSS
Côté IT
Utiliser Office 365 pour un projet d?équipe - PART 2
Utiliser Office 365 pour un projet d?équipe - PART 1
SharePoint 2007 : Installation du Service Pack 3 de MOSS
SharePoint 2007 : Installation du Service Pack 3 de WSS V3
Installation de SQL Server DENALI CTP3
Mise à jour de Windows 2003 R2 vers Windows 2008 R2
Upgrade de SQL Server 2005 vers SQL Server 2008 R2
La suite
RSS
Offres d'emploi
Recherche Recherche développeur web ASP et ASP.Net
Recherche Analyste Programmeur Adélia
Recherche Développeur eZ Publish confirmé
Recherche AP (H/F) ACCESS EXCEL VBA
Recherche SUPPORT INFORMATIQUE / DEVELOPPEUR
Recherche Developpeur web
Recherche développeur Web
Déposer une offre
La suite
RSS
Formations Video
Coffret : Ateliers sur la mode
Atelier sur la mode : Motifs et matières
Atelier sur la mode : La planche tendance
Atelier sur la mode : De retour de pige et repérage
Corel Painter 12 : Les fondamentaux
Coffret : Microsoft Office 2010 de A à Z
De Microsoft Office 2003 à 2007 et 2010
La suite
RSS
Appels d'offres
Passerelle Pericles sur site Joomla 17
Budget :
499€
Infogerance Serveur Debian Linux
Budget :
2 400€
Developpeur applications iphone - ipad - android
Budget :
800€
La suite
RSS
Logiciels
Academy System (17.2.1.0)
ACADEMY SYSTEM (17.2.1.0)
Logiciel de gestion des établissements. - élèves/étudiants (inscription, dossier, absence...) -...
Cliquez pour télécharger Academy System
Easy-Planning (1.0.0.1)
EASY-PLANNING (1.0.0.1)
Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ...
Cliquez pour télécharger Easy-Planning
COLLECTOR PLUS (3.00B)
COLLECTOR PLUS (3.00B)
COLLECTOR PLUS version 3.00B est un logiciel utilisant une base de données alimentée par : - L...
Cliquez pour télécharger COLLECTOR PLUS
PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)
PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)
PONAMEDIA TV DEVIENS HELLLOOO FLASH LA TV SUR VOTRE ORDINATEUR. Toute une plateforme Multi...
Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO
LettresFaciles 2011 (8.0.0.1)
LETTRESFACILES 2011 (8.0.0.1)
LettresFaciles est un logiciel facilitant la création et la rédaction de lettres types. Son inte...
Cliquez pour télécharger LettresFaciles 2011
+ de logiciels à télécharger
Vidéos drôles
Halloween Party
Terry Tate Office Linebacker Superbowl 2003
Jeu vidéo instructif
C'est un véritable vol !
Banana Song
Comment attraper la grippe A
Parodie Pub Window 7
La suite
RSS
Sondage...
Votre navigateur n'utilise pas le javascript, pour
voter aux sondages de ce site, cliquez ici
Statistiques
1 873 493
membres
27
nouveaux aujourd'hui
16 151
membres club
Comparez les prix
Apple iPhone 4 Noir (16 Go)
Entre 0€ et 0€
Visiter le guide achat
CalendriCode
Février
2012
L
M
M
J
V
S
D
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
Consulter la suite du CalendriCode
Photothèque
Visiter la photothèque
CS Tool Box