Il y a des petites astuces qu’on ne connait (peut-être) pas, et qui peuvent faire gagner en performance…
Les décalages binaires font partis de ces astuces… Le principe étant de décaler les bits d’une valeur.

Le premier argument (x) est la valeur à décaler, le second argument (y) est le nombre de décalage a effectuer :

x >> y

Décaler un bit à gauche correspond à multiplier par 2 :

5 << 1 = 10

Décaler un bit à droite correspond à diviser par 2 :

10 >> 1 = 5

Chaque décalage correspond à multiplier / diviser par 2, si augmente le nombre de décalage cela équivaut à :

Nombre de décalage : 1 => Multiplication / Division par : 2
Nombre de décalage : 2 => Multiplication / Division par : 4
Nombre de décalage : 3 => Multiplication / Division par : 8
Nombre de décalage : 4 => Multiplication / Division par : 16
Nombre de décalage : 5 => Multiplication / Division par : 32
Nombre de décalage : … => Multiplication / Division par : …

!!! Attention !!! Le résultat est toujours un entier !

50 >> 2 = 12

Aller plus loin :
Le décalage binaire »
Représentation des nombres entiers et réels »

Degrafa Beta 3

Degrafa est un framework graphique open-source pour Flex2/Flex3, initié en 2007, la beta 3 est disponible depuis le mois de novembre.

Un exemple ci-dessous :

Les nouveautés de la beta 3 »
Le site de Degrafa »
Exemples d’utilisation de Degrafa

Ci-dessous un tutoriel vidéo :



Degrafa Skinning Tutorial (part 1) from Mike Huntington on Vimeo

Application AIR 1.5

Adobe a mis à jour les exemples d’applications AIR avec la mise à jour 1.5.
Ces applications sont visibles ici »

Pour rappel, AIR 1.5 intègre les nouveautés du Flash Player 10 ( filtres, 3D, Pixel Bender..), ainsi qu’un mise à jour du webkit et la possibilité de crypter les bases de données locales.

Plus d’informations ici »

Adobe Cocomo

Présenté à MAX 2008 de San Fransisco, Adobe Cocomo est disponible en version beta sur le labs d’Adobe.
Cocomo, c’est une plateforme de service, hébergé par Adobe (sur le serveur acrobat.com), ainsi que des composants Flex, permettant l’ajout d’outils collaboratifs aux applications Flex :
- VoIP ( Voix sur réseau )
- Webcam
- Chat
- « Tableau blanc » multi utilisateurs
- Partage de fichiers en temps réel
- Gestion des utilisateurs
- …

Cocomo n’est utilisable que sur Flex 3 ( il n’est pas compatible Flex2 ou Flash), il faut aller sur cocomo.acrobat.com et vous identifier, pour télécharger le sdk (comprenant aussi le pdf Cocomo Developper Guide, ainsi que 15 exemples d’utilisation). C’est sur cette même adresse que vous accéderez à la gestion de votre compte Cocomo et de vos « Rooms ».

Pour installer Cocomo dans Flex Builder 3, créer un dossier com.adobe.cocomo, dans le dossier des plugins de Flex Builder 3. Copier l’ensemble du .zip SDK dans ce dossier.

Pour chaque projet nécessitant Cocomo, il faut ajouter le chemin vers le .swc, dans Project > Properties > Flex Build Path > Library Path cliquer sur AddSWC et sélectionner le « cocomo.swc » se trouvant dans le dossier lib (Sélectionner le sous dossier player9 / player10 suivant la version de votre application).

Il vous faut ensuite créer une room dans votre espace dédié sur le Cocomo Developer Portal, une room équivaut à un espace de réunion de virtuel, tous les messages, fichiers, vidéos… publiés dans cet espace seront visible par les autres utilisateurs :

Après avoir créer un nouveau projet (ne pas oublier d’y ajouter le chemin vers cocomo.swc), vous devez vous connecter à la plateforme Cocomo, il faut obligatoirement une instance de la classe AdobeHSAuthenticator, ainsi qu’une instance d’une des classe étendant l’interface IConnectSession, ie : ConnectSession, ConnectSessionContainer ou SessionContainerProxy.

Pour mon exemple, j’ai utilisé le composant ConnectSession, prenant en paramètre roomURL le chemin vers la room crée précédemment, ce chemin correspond à l’adresse de votre compte (« http://connectnow.acrobat.com/tsoin » en l’occurence), puis la nom de votre room : roomURL = http://connectnow.acrobat.com/tsoin/Cocomo001.

Le composant AdobeHSAuthenticator permet plusieurs scénarios :
- Authentification par AdobeID (paramètres userName & password)
- Connexion en invité (paramètre userName)
- Authentification externe (paramètre authenticationKey )

L’exemple suivant utilise le composant SimpleChat, permettant aux utilisateurs lançant l’application de se connecter sous le pseudo Guest XXX, et de pouvoir discuter entre eux :

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" xmlns:rtc="CocomoNameSpace"
   xmlns:session="com.adobe.rtc.session.*" xmlns:pods="com.adobe.rtc.pods.*"
   xmlns:collaboration="com.adobe.rtc.collaboration.*" creationComplete="cSession.login()">
   <rtc:AdobeHSAuthenticator id="user" userName="Guest"/>
   <session:ConnectSession roomURL="AccountURL_Room/Vince" id="cSession" authenticator="{user}" />
   <mx:VBox width="100%" height="100%">
      <mx:DataGrid width="100%" height="100%" dataProvider="{cSession.userManager.userCollection}">
         <mx:columns>
            <mx:DataGridColumn dataField="displayName" headerText="User"/>
            <mx:DataGridColumn dataField="role" headerText="Role"/>
         </mx:columns>
      </mx:DataGrid>
      <pods:SimpleChat width="100%" height="100%"/>
   </mx:VBox>
</mx:Application>

[kml_flashembed movie="http://tsoin.com/asblog/tutoriel/Cocomo/001/Cocomo.swf" height="600" width="542" /]

Pour la beta, les restrictions sont les suivantes :
- 25 utilisateurs simultané
- 15 000 minutes de connexion utilisateur par mois
- 250 000 messages publié pas mois
- 3 Go de bande passante par mois

La version beta est en version gratuite, mais il n’y a pas encore de coût d’utilisation pour la release

La page Cocomo sur le labs »
Forum Cocomo »
Exemple Cocomo : ConnectNow »
Blog Collaborative Methods »

Présentation et exemple de Cocomo par Ryan Stewart :

Excellente liste de liens sur le Flex Developper Center, pour apprendre Flex en 1 semaine.
Découper en 5 « jours », vous apprendrez grâce à des vidéos, mettrez en pratique avec des exercices en PDF. Des bases aux fonctionnalités plus complexes (archtecture..) en passant par la création de composants, la customisation avecCS3, un petit lien à garder dans les bookmarks !

Flex in a Week raquo;

KeyboardEvent & KeyCode

Correspondance des touches du clavier et keycode :

Keyboard Keys and Key Code Values »

Suite à mon comparatif de performance, makemepulse commentait que la dernière release de Papervision3D réglait le problème des fuites de mémoire. Ne pouvant rester sur une conclusion qui n’avait plus lieu d’être, j’ai donc refais mes tests avec la dernière version des moteurs ( excepté Sandy3D, n’ayant pas eu de nouvelle version depuis le début de l’année ).

Voici donc les versions testées :
- Papervision3D : Public Beta 2.0 – Great White / 2008.09.09 (revision 804)
- Away3D : 2.2.0 / 2008.09.27
- Alternativa3D : 5.5.0 / 2008.10.25

Je ne reprendrais pas les 3 premiers points du comparatif précédent, les différence étant minimes, surement du à la machine plus qu’au améliorations ( les différences de temps de créations sont inférieures à 0.5ms ). LE point important étant la mémoire, et la formidable amélioration de Papervision, qui vient changer la donne…

Alternativa3D reste le moteur qui gère le mieux la mémoire, mais Papervision3D vient coiffer Away3D au poteau… Même si la différence reste peu importante, le retard rattrapé par Papervision3D est remarquable, vous pouvez retrouver les explications de la fuite moiré sur ce post de Seb Lee-Delisle »
Vous retrouvez dans les graphes ci-dessous l’évolution de l’usage mémoire par chacun des trois moteurs 3D :

Alternativa3D

Away3D

Papervision3D

Les conclusions sont donc différentes, et pouvoir assigner une « vraie » première place, me semble impossible.
- Away3D : temps de création et mémoire utilisé à la création les plus bas, mais mémoire globale plus haute
- Alternativa3D : temps de création au plus haut, et mémoire à la création dans la moyenne, mais mémoire globale la plus basse
- Papervision3D : temps de création, mémoire à la création, et mémoire globale dans la moyenne.

Autant il est était facile de prendre une décision avec l’ancien comparatif, autant avec celui-ci, les écarts sont infimes, les choix difficiles, je dirais match nul…
Reste à voir graphiquement lequel est celui qui s’en sort le mieux…

Audi Vorsprung durch Technik

Aucun souvenir de mes cours d’allemand, donc je ne saurais dire ce que signifie le titre, mais l’essentiel n’est pas là : magnifique site pour Audi, Site of the day par The FWA

Visiter Audi Vorsprung durch Technik »

Page 5 / 15 « First...«34567»...Last »