PureBasic

Forums PureBasic
Nous sommes le Dim 21/Juil/2019 20:15

Heures au format UTC + 1 heure




Poster un nouveau sujet Répondre au sujet  [ 13 messages ] 
Auteur Message
 Sujet du message: Listicon rapide
MessagePosté: Sam 15/Juin/2013 8:47 
Hors ligne

Inscription: Mer 14/Sep/2011 16:59
Messages: 900
Je me permets de faire remonter un post du forum allemeand qui provient de RSBasic et de son fameux site http://www.rsbasic.de/aktualisierung/wi ... 3%BCgen.pb

Cette astuce permet de prendre jusqu'à 3 x moins de temps pour remplir un listicongadget.

Code:
EnableExplicit

Define EventID
Define a
Define StartTime
Define ElapsedTime

If OpenWindow(0,0,0,500,400,"Window",#PB_Window_SystemMenu|#PB_Window_ScreenCentered)
  ListIconGadget(1,10,10,480,380,"",400,0)
  SendMessage_(GadgetID(1),#WM_SETREDRAW,0,0) ; le gadget n'est pas redessiné après un changement

  StartTime = ElapsedMilliseconds()

  For a=1 To 10000
    AddGadgetItem(1,-1,"Item "+Str(a),0,0)
  Next

  SendMessage_(GadgetID(1),#WM_SETREDRAW,1,0) ; on redessine

  ElapsedTime = ElapsedMilliseconds()-StartTime
 
  MessageRequester("",Str(ElapsedTime)+" ms. après 10.000 entrées.",0)
 
  Repeat
    EventID=WaitWindowEvent()
    If EventID = #PB_Event_CloseWindow
      End
    EndIf
  ForEver
EndIf


Pour voir la différence, commentez les 2 sendmessage.

En plus, je trouve que ça donne un effet plus "pro";

Mesa.


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Listicon rapide
MessagePosté: Sam 15/Juin/2013 9:46 
Hors ligne
Avatar de l’utilisateur

Inscription: Dim 09/Oct/2005 16:51
Messages: 8705
Je passe de 2562 à 188ms ! Bluffant ! 8O
Si j'ai bien pigé lors d'un AddGadgetItem, PB redessine à chaque fois, du coup l'API sert à bloquer le redraw jusqu'à que la boucle soit terminée puis redessine une fois pour tout à la fin.

_________________
~~~~Règles du forum ~~~~
.: Ar-S :. Tour + portable W10 x64 PB 5.4x / 5.6x
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
RESIZER GOLD : Mon logiciel de redimensionnement par lot 100% PB


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Listicon rapide
MessagePosté: Sam 15/Juin/2013 10:51 
Hors ligne

Inscription: Mer 14/Sep/2011 16:59
Messages: 900
Oui, c'est ça.

Avec mon Xp 32b, cpu P4 mono core, je passe de 750ms à 265ms.

@ARS, t'es sur win8 64b ?

Ça serait bien de comparer les différents Windows, linux et macos, pour voir :wink:

Mesa.


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Listicon rapide
MessagePosté: Sam 15/Juin/2013 17:04 
Hors ligne
Avatar de l’utilisateur

Inscription: Jeu 29/Juil/2004 16:33
Messages: 2772
Localisation: Klyntar
sympa en effet.

pour moi c'est : 2262ms contre 109 ms :)

config dans la signature.







@++

_________________
Windows 10 x64, PureBasic 5.71 Beta 1 x86 & x64
GPU : radeon HD6370M, CPU : p6200 2.13Ghz


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Listicon rapide
MessagePosté: Sam 15/Juin/2013 20:22 
Hors ligne
Avatar de l’utilisateur

Inscription: Sam 21/Mai/2005 17:50
Messages: 1318
pour moi ça passe de 1391ms à 109ms.

Mesa a écrit:
Ça serait bien de comparer les différents Windows, linux et macos, pour voir :wink:

Comme c'est une API windows, on ne peut pas comparer le même code sur les différents OS. Il faudrait trouver les commandes correspondantes sur chaque OS !!

_________________
_________________________________________________
Mon site : CeriseCode (Attention Chantier perpétuel ;))


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Listicon rapide
MessagePosté: Sam 15/Juin/2013 20:39 
Hors ligne
Avatar de l’utilisateur

Inscription: Sam 23/Sep/2006 18:32
Messages: 6637
Localisation: Isere
Top cool la combine 8O
Ca va m'etre super utile à partir de maintenant
Merci de l'info 8)

_________________
ImageLe bonheur est une route...
Pas une destination

PureBasic Forum Officiel - Site PureBasic


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Listicon rapide
MessagePosté: Dim 16/Juin/2013 12:36 
Hors ligne
Avatar de l’utilisateur

Inscription: Dim 09/Oct/2005 16:51
Messages: 8705
Mesa a écrit:
@ARS, t'es sur win8 64b ?
Mesa.

Oui => signature

_________________
~~~~Règles du forum ~~~~
.: Ar-S :. Tour + portable W10 x64 PB 5.4x / 5.6x
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
RESIZER GOLD : Mon logiciel de redimensionnement par lot 100% PB


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Listicon rapide
MessagePosté: Dim 16/Juin/2013 16:50 
Hors ligne

Inscription: Dim 10/Jan/2010 5:29
Messages: 3417
sur linux ( avec gtk donc ) , cette manip ne sert à rien , même en gelant l'update pendant l'ajout , le délais est le même.


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Listicon rapide
MessagePosté: Dim 16/Juin/2013 18:15 
Hors ligne
Avatar de l’utilisateur

Inscription: Sam 21/Mai/2005 17:50
Messages: 1318
et il est de combien ? de l'ordre du delay sans update de window ?

_________________
_________________________________________________
Mon site : CeriseCode (Attention Chantier perpétuel ;))


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Listicon rapide
MessagePosté: Dim 16/Juin/2013 19:31 
Hors ligne

Inscription: Dim 10/Jan/2010 5:29
Messages: 3417
50ms ici.


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Listicon rapide
MessagePosté: Lun 17/Juin/2013 15:36 
Hors ligne

Inscription: Mer 14/Sep/2011 16:59
Messages: 900
C'est fou.
Un Win8 64b qui est 2 à 3 fois plus lent qu'un Xp 32b pour l'affichage (sans accélération 3D), c'est bizarre.

Doit-on penser que l'affichage de Win8 a été complètement recodé, du coup l'api32 ne serait que "émulée" par exemple ?

Dans ce cas, PureBasic risque dans l'avenir d'être de plus en plus lent dans le cas d'une fenêtre contenant un grand nombre de gadget (sous Windows).
Un méga travail pour Fred en perspective ? :wink:

Mesa.


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Listicon rapide
MessagePosté: Lun 17/Juin/2013 16:47 
Hors ligne
Avatar de l’utilisateur

Inscription: Sam 21/Mai/2005 17:50
Messages: 1318
C'est vrai que même avec mon pc je vais plus lentement que toi ;)
En revanche avec l'affichage desactivé, ca va 2 fois plus vite.

Et avec mon win7 sur un i3 : 2044ms à 109ms.... C'est bien la même structure d'affichage xD

_________________
_________________________________________________
Mon site : CeriseCode (Attention Chantier perpétuel ;))


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Listicon rapide
MessagePosté: Lun 01/Juil/2013 19:44 
Hors ligne

Inscription: Jeu 22/Sep/2011 6:01
Messages: 13
Localisation: Liban
moi, j'ai passé de 2840ms à 295ms
impressionnant!!!!

Merci pour l'info et le partage


Haut
 Profil  
Répondre en citant le message  
Afficher les messages postés depuis:  Trier par  
Poster un nouveau sujet Répondre au sujet  [ 13 messages ] 

Heures au format UTC + 1 heure


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités


Vous ne pouvez pas poster de nouveaux sujets
Vous ne pouvez pas répondre aux sujets
Vous ne pouvez pas éditer vos messages
Vous ne pouvez pas supprimer vos messages

Rechercher:
Aller à:  

 


Powered by phpBB © 2008 phpBB Group | Traduction par: phpBB-fr.com
subSilver+ theme by Canver Software, sponsor Sanal Modifiye