Tinic Uro, le développeur principal du Flash Player explique dans son blog son ambition de faire un portage propre de l'application, et toute la complexité que représentera ce travail ; pour résumer, il faut prendre en compte les différentes bibliothèques pour le son, l'affichage, les fontes, la multiplicité des plateformes (x86, mais aussi PPC, x86-64), tenir compte de la différence des compilateurs gcc et Intel, etc. Le blog de Tinic Uro rentre dans les détails et propose même des bouts de code pour mieux comprendre la problématique.
NdM : Ce n'est pas tant pour l'offre d'emploi, mais plus pour l'explication de la problématique que cette dépêche est publiée. Ne soumettez pas vos offres d'emploi !
Aller plus loin
- Article de Tinic Uro : Porting the Flash Player to 'alternative' platforms (2 clics)
- Annonce de Macromedia: Principal Software Engineer, Flash Player for Linux (2 clics)
- DLFP : Flash Player 7 pour Linux disponible (2 clics)
- Alternatives libres (1 clic)
- DLFP : Logiciels libres et contenus web interactifs (2 clics)
# pouah !
Posté par TazForEver . Évalué à -9.
[^] # Re: pouah !
Posté par rootix . Évalué à -8.
[^] # Re: pouah !
Posté par Infernal Quack (site web personnel) . Évalué à 10.
L'association LinuxFr ne saurait être tenue responsable des propos légalement repréhensibles ou faisant allusion à l'évêque de Rome, au chef de l'Église catholique romaine ou au chef temporel de l'État du Vatican et se trouvant dans ce commentaire
[^] # Re: pouah !
Posté par jérémy vogt . Évalué à -9.
Ca permet de faire des jolies publicités !!
[^] # Re: pouah !
Posté par Fabimaru (site web personnel) . Évalué à 0.
[^] # Re: pouah !
Posté par Anonyme . Évalué à 7.
L'avantage avec adblock, c'est que tu te pose la question « zut, est ce que je dois bloquer caca.net/plop/zobi ? » une seule fois, et tu es tranquille, serein, débarassé. Je dirais même qu'avec de bonnes regexp, t'es jamais emmerdé par la pub, qu'elle soit en flash ou en autre chose. D'ailleurs, ça doit faire plus d'1 an que je n'ai pas vu l'ombre d'une pub sans avoir modifié mes filtres adblock une seule fois !
[^] # Re: pouah !
Posté par Gniarf . Évalué à 5.
soit l'icone de FlashBlock apparait dans un endroit caractéristique d'une publicité (ou d'une intro de site), soit je sais précisément ce que je veux voir (jeu à la con, applet de météo...) et c'est visible comme le nez au milieu de la figure.
d'ailleurs depuis, je préfère nettement qu'elles ne se lancent pas toutes seules, mais seulement à la demande.
[^] # Re: pouah !
Posté par Alexandre COLLIGNON (site web personnel) . Évalué à 9.
Le libre c'est bien, c'est même génial, j'en voudrais partout !
Mais arrêtons l'utopie, le prorio est encore là, il n'a pas disparu le jour où la notion de libre est née !
Cependant c'est à nous de faire changer cela ... et ce n'est pas en critiquant un site tel que linuxfr.org, référence française, que la magie va s'opérer !
Alexandre COLLIGNON
[^] # Re: pouah !
Posté par philip . Évalué à 3.
[^] # Re: pouah !
Posté par kd . Évalué à 10.
On peut lire sur la page http://linuxfr.org/association/(...) :
« LinuxFr est une association régie par la loi de 1901, créée fin octobre 1998. Elle a pour objectif de promouvoir les Logiciels Libres, en particulier Linux. »
« Le site linuxfr.org est géré par l'association LinuxFr. »
La lecture de http://linuxfr.org/association/statuts.html(...) peut aussi éclairer certains lecteurs du présent site linuxfr.org
Je suis persuadé que la plupart des personnes inscrites sur linuxfr.org ne connaissent même pas l'existence de l'association. Il est vrai qu'aujourd'hui la ligne éditoriale s'est un peu éloignée de ce qu'elle a été autrefois.
> Mais arrêtons l'utopie, le prorio est encore là, il n'a pas disparu le jour où la notion de libre est née !
L'utopie a de bien qu'elle n'est pas faite pour être réalisée car elle est par définition même irréalisable. Elle éclaire cependant et montre le chemin à suivre. Pour que les choses avancent, il faut de l'utopie, du rêve.
[^] # Re: pouah !
Posté par imr . Évalué à 6.
Je ne suis pas certain que ça marcherait.
Parler des logiciels propriétaires et des logiciels libres avec honnêteté débouche tôt ou tard sur la problématique qui a mené à l'idée de logiciels libres, non?
[^] # Re: pouah !
Posté par kd . Évalué à 6.
Je proteste. Je n'ai jamais dit que cette news concernant le flash n'avait pas lieu d'être.
De toute façon, c'est bien connu, tout ce qui est absolu et aveugle ne mène pas bien loin.
[^] # Re: pouah !
Posté par Obsidian . Évalué à 4.
C'est le moment de réétaloner mon nouveau trollomètre renforcé (le dernier ayant rendu l'âme ici : http://linuxfr.org/comments/520481.html#520481(...) )
[^] # Re: pouah !
Posté par Benoît Sibaud (site web personnel) . Évalué à 8.
- statuts originaux
« a pour objet de rassembler des utilisateurs francophones de Linux, et de leur fournir un service d’information et de communication, par exemple via un serveur web.
(...) a également pour objet la promotion des systèmes d’exploitation Unix, Linux en particulier, et de logiciels gratuits »
- derniers statuts
« a pour objet de rassembler des utilisateurs francophones de logiciels libres, et de leur fournir un service d'information et de communication, par exemple via un serveur web. »
(...) a également pour objet la promotion des systèmes d'exploitation Unix, basés sur le noyau Linux en particulier, et de logiciels libres. »
- ligne éditoriale du site
« Les thèmes principaux de LinuxFr sont Linux et les logiciels libres. »
> Je suis persuadé que la plupart des personnes inscrites sur linuxfr.org ne connaissent même pas l'existence de l'association.
C'est pourtant marqué sur toutes pages (bas de page, « Information sur le site » par exemple).
> Il est vrai qu'aujourd'hui la ligne éditoriale s'est un peu éloignée de ce qu'elle a été autrefois.
Oui, elle est plus orientée logiciels libres qu'auparavant... Et ce n'est pas moi qui vais m'en plaindre.
[^] # Re: pouah !
Posté par pierredurand . Évalué à -1.
C'est là qu'on voit que le fermé a de beaux jour devant lui :
1°) Le libre part dans toutes les directions. Vous ne comprenez même pas que Tinic Uro ne cheche pas réellement un développeur qui sache tout faire. Son appel sert tout juste à expliquer que tant que le libre sera une pareille tour de Babel (bibliothèques graphiques et sonores dans tous les sens, incompatibles entre elles et tout et tout), il sera impossible de développer quelque chose d'un peu complexe en libre. Et ne me sortez pas l'exemple de Firefox : tout ce que fait ce programme est d'afficher du texte et des bitmaps à plat. Ca fait 20 ans que tout le monde sait faire. Je parle de vrais programmes modernes avec des comportements dynamiques, comme Flash.
La prochaine étape va être d'expliquer qu'il n'ont pas trouvé le développeur en question et que Flash 8 ne sortira jamais sous Linux. Tant pis j'utiliserais ma partie double-boot Windows pour travailler (pasque Flash ne sert pas QUE pour les pubs...)
2°) Il n'y a même pas d'alternative libre au Flash (à part à l'état de projet, et encore c'est tout juste équivalent à ce que fait Flash 1.
[^] # Re: pouah !
Posté par ccomb (site web personnel) . Évalué à 3.
Tu veux dire que tu fais des sites en flash ?
[^] # Re: pouah !
Posté par M . Évalué à 10.
Pourquoi ton appli devrait fonctionner avec toute les bibliothèques ?
Tu choisis celle qui te plait/t'offre ce que tu veux.
Et ne me sortez pas l'exemple de Firefox : tout ce que fait ce programme est d'afficher du texte et des bitmaps à plat.
Et c'est la marmotte qui interprette correctement le html, xtml, ...
D'ailleur firefox est un assez mauvais exemple (tout comme d'autre projet sortant du monde proprio (OOo pour ne pas le citer)) car ils viennent souvent avec leur propre bibliothèques...
2°) Il n'y a même pas d'alternative libre au Flash (à part à l'état de projet, et encore c'est tout juste équivalent à ce que fait Flash 1.
On paut pas dire que macromedia pousse beaucoup les developpeurs du libre vers cette direction.
Et puis faut voir l'interet du flash, parce que implementer un truc comme flash pour voir des pubs ou 2 ou 3 sites, il faut en vouloir...
[^] # Re: pouah !
Posté par Jllc . Évalué à 1.
Tu choisis celle qui te plait/t'offre ce que tu veux.
Et il se passe quoi quand quelqu'un installe le programme sur une machine ou LA bibliothèque qui "te plait/t'offre ce que tu veux" n'est pas présente ?
Dans le meilleur des cas (rpm, deb ...) elle est installée avec, mais l'utilisateur se retrouve avec 36 bibliothèques, dont plus de place prise sur le disque et plus de place prise en Ram tout ça pour plusieurs bibliothèques qui font finalement la même chose. Sans compter le bordel pour un utilisateur "lambda" quand il doit régler séparement les différentes bibliothèques gérant le son/graphique/... de ses programmes.
Dans le pire des cas, la bibliothèque ne sera pas présente, et certaines personnes ne comprendront pas pourquoi tel programme arrive à jouer les sons et pas tel autre.
[^] # Re: pouah !
Posté par Yusei (Mastodon) . Évalué à 10.
La solution choisie par la plupart des développeurs d'applications propriétaires est de compiler en statique, c'est à dire inclure le code utilisé de la bibliothèque dans l'exécutable. Comme ça, pas besoin d'avoir la bibliothèque présente sur la machine des utilisateurs, et pas de problème de compatibilité.
[^] # Re: pouah !
Posté par Anonyme . Évalué à 2.
[^] # Re: pouah !
Posté par Ludovic Rio . Évalué à 4.
C'est un petit avantage par rapport aux bibliothèques dynamiques qui, même si elles sont chargées qu'une fois, doivent être chargées complètement.
Au fait, je pense que c'est mieux de parler d'éditon de lien statique que de compilation statique... ;)
[^] # Re: pouah !
Posté par Anonyme . Évalué à 3.
Je pense aussi qu'il est mieux de parler d'édition de lien. «Compilation statique» est une métonymie, une ellipse, bref une figure au choix, ce qui donne un raccourci pratique.
Ce qui ne m'a pas empêché de sortir les bonnes guillemets à la française pour cet apparté littéraire... Et pour l'occasion, messire, je vous plusse !
[^] # Re: pouah !
Posté par pierredurand . Évalué à -5.
> voir des pubs ou 2 ou 3 sites, il faut en vouloir...
Ahahah !
Excellent celle là !
Ca me rappelle les développeurs d'il y a 20 ans : mais à quoi ça sert d'avoir du graphique sur mon ordi : je fais ce que je veux avec mon mode texte...
Y'a de ces dinosaures ici !!!
[^] # Re: pouah !
Posté par gc (site web personnel) . Évalué à -1.
[^] # Re: pouah !
Posté par Éric (site web personnel) . Évalué à 10.
Le portage d'une application est une réelle problématique, si tu nous avais fait la même news pour un soft libre il est probable qu'elle serait passée, malheureusement tu ne l'as pas faite.
Et libre ou pas Flash concerne encore beaucoup de monde, y compris parmi les gens d'ici. On a bien des news sur MS alors une news qui parle d'un portage flash sous linux ça me semble pertinent.
[^] # Re: pouah !
Posté par ZeroHeure . Évalué à 10.
"La liberté est à l'homme ce que les ailes sont à l'oiseau" Jean-Pierre Rosnay
# Hum
Posté par Sylvain Sauvage . Évalué à 10.
Ils espèrent trouver un type qui :
- s'y connaisse en optimisation C+assembleur pour x86, x86+MMX, x86+SSE, x86+une_maman_ourse, x86_64, x86_64+..., PPC, etc. ;
- s'y connaisse en unix ;
- s'y connaisse en optimisation pour tous les compilateurs ;
- s'y connaisse en toutes les bibliothèques nécessaires (son, video...) ;
- puisse suivre ce que les autres font sur les plateformes « non-alternatives » (ben ouais mon p'tit gars, tu vas juste faire du portage, faut que tu suives).
J'espère qu'ils le paieront cher... (oui, il y a un double sens à cette phrase)
Un commentaire du blog propose de découper en cinq postes. Je ne suis pas sûr que cela soit suffisant. Et, étant donné que Macromedia demande un « Bachelor's degree » en informatique comme étant un niveau « ideal », c'est pas gagné...
[^] # Re: Hum
Posté par MsK` . Évalué à 2.
[^] # Re: Hum
Posté par Anonyme . Évalué à 7.
Fabrice Bellard
Fabrice, si tu me lis, et si tu as le temps postule as tes conditions. Et dans 6 mois voir un an, nous aurons un plugin flash sous linux. Et dans ton contrat stipule bien que tu reste en France, et que tu peux garder tes activité annexe. merci
si quelqu'un est motivé pour lancer une petition.
[^] # Re: Hum
Posté par Anonyme . Évalué à -3.
[^] # Re: Hum
Posté par Anonyme . Évalué à 4.
[^] # Re: Hum
Posté par mol67 . Évalué à -2.
ARCHIFAUX !
La seule personne compétente est Pierre Tramo.
[^] # Re: Hum
Posté par Colin Leroy (site web personnel) . Évalué à 8.
si quelqu'un est motivé pour lancer une petition.
Ça va, il est peut-être assez grand pour faire ce qu'il veut sans que tu pétitionnes à sa place non?
[^] # Re: Le matériau ou le Matériel?
Posté par GhZaaark3 . Évalué à 4.
Maintenant, vous parlez de probleme de portage de compilo Intel et d'optimisation..., pourtant Flash tourne aussi sur PPC et donc sur MacOSX (unix like), donc ils ont déjà les effectifs, l'adaptation ne devrait pas être si énAUrme...
Toutefois si le format ne serait jamais libre, si un ingénieur très balaise en système unix et optimisation faisait le lecteur flash pour unix par excellent, ça pourrait le faire.
non j'déconne, libérez le matériau, nous on fera le matériel.
++
[^] # Re: Le matériau ou le Matériel?
Posté par Éric (site web personnel) . Évalué à 9.
S'ils ont des problèmes de portage, s'ils leur manque des compétence et s'ils ont la volonté d'être dispo sous Linux & BSD avec plusieurs architectures ... pourquoi ne libèrent-ils pas le player ?
Leur business est sur l'appli qui créé les flash, pas sur la lecture. Ca ne les empeche pas d'avoir un player "officiel" qui fait référence, mais au moins peut être le boulot à faire sur le player sera fait (ce n'est pas garanti mais vu qu'il existe des projets libres concurrents, ce n'est pas impossible)
# ENFIN!
Posté par sylware . Évalué à 5.
Bon maintenant au tour de NVIDIA et de ATI...
[^] # Re: ENFIN!
Posté par Matthieu . Évalué à 4.
Tu inclus IE ?
[^] # Re: ENFIN!
Posté par efyx (site web personnel) . Évalué à 2.
On parle de navigateur internet...Pas de pseudo-navigateur
[^] # Re: ENFIN!
Posté par Infernal Quack (site web personnel) . Évalué à 4.
http://www.w3schools.com/smil/smil_html.asp(...)
L'association LinuxFr ne saurait être tenue responsable des propos légalement repréhensibles ou faisant allusion à l'évêque de Rome, au chef de l'Église catholique romaine ou au chef temporel de l'État du Vatican et se trouvant dans ce commentaire
[^] # Re: ENFIN!
Posté par sylware . Évalué à 4.
# urg
Posté par Paul . Évalué à 1.
SMIL ? SVG/EcmaScript ? euh, ouais, j'attends toujours de voir un truc complexe codé avec et qui tourne. Ca viendra mais c'est encore loin.
Au passage, ActionScript2 (le langage de l'interpreteur de bytecode flash) c'est de l'ECMAScript4.
[^] # Re: urg
Posté par Yusei (Mastodon) . Évalué à 4.
Il y a quelques exemples sur http://www.croczilla.com/svg/samples/(...) et je dois dire que c'est la démo de Tetris en SVG qui m'a donné envie de m'y mettre.
Le problème étant bien sûr qu'il n'y a pas que Firefox au monde, et que je n'ai aucune idée de quand Konqueror, Safari, Opera et autres gèreront tout ça (si ce n'est pas déjà en route).
Une note positive quand même: du point de vue du développeur web, il me semble plus simple de faire une interface mixte SVG/XHTML qui soit utilisable par n'importe quel browser que faire la même chose avec Flash.
[^] # Re: urg
Posté par Frédéric COIFFIER . Évalué à 6.
Y aurait-il quelque part une démo vraiment bluffante ?
[^] # Re: urg
Posté par Yusei (Mastodon) . Évalué à 3.
Ouais enfin ça tourne aussi sur mon Athlon 660 MHz avec 256 Mo de RAM, et je soupçonne que ça tournerait sur moins puissant que ça... c'est pas parce que tu as une grosse machine que ça nécessite une grosse machine.
L'intéret de la démo n'est pas tellement de faire un super jeu, mais de montrer qu'on peut intégrer du SVG dans une page web et l'animer avec du Javascript, de manière interactive.
Un truc qui te convaincra peut-être plus (ou pas): imagine que tu veuilles faire une carte du monde où les pays sont cliquables, avec avec un effet de rollover qui surligne le pays actuellement sous le pointeur. Étant donné la complexité des formes des pays, il semble assez compliqué de faire ça avec des images et du JS, comme les rollovers sont habituellement faits. En dehors de Java ou Flash, il y avait peu d'alternatives qui ne nécessitaient pas un horribe bricolage.
Avec SVG+Javascript, on peut faire ça très facilement ( http://ragondux.com/worldmap.xml(...) ). Pour l'instant Cairo (utilisé par Firefox) rame un peu, mais ça fonctionne. Et comme c'est intégré à la page, pour changer l'apparence d'un pays, il suffit d'attribuer un style (CSS) à l'élément correspondant à ce pays.
[^] # Re: ur
Posté par 태 (site web personnel) . Évalué à 4.
Pour opera, c'est déjà en route : opera a été le premier navigateur à supporter simple svg. Les exemples de cette page "marchent un peu" avec opera.
[^] # Re: ur
Posté par qdm . Évalué à 3.
[^] # Re: urg
Posté par Infernal Quack (site web personnel) . Évalué à 9.
L'association LinuxFr ne saurait être tenue responsable des propos légalement repréhensibles ou faisant allusion à l'évêque de Rome, au chef de l'Église catholique romaine ou au chef temporel de l'État du Vatican et se trouvant dans ce commentaire
[^] # Re: urg
Posté par Paul Rouget . Évalué à 2.
http://blog.sexylizard.org/?2005/07/12/2-iekilla(...)
malheuresement, l'implémentation du SVG dans firefox n'est pas encore adaptée aux animations.
# Une petite question et une remarque
Posté par imr . Évalué à 10.
Bon, ça changera peut être avec l'offre d'emploi, à condition qu'ils ne le fassent pas travailler sur autre chose immédiatement après l'embauche.
Ma question maintenant.
Pourquoi ils s'embêtent avec gcc si tout est fait pour le compilo intel et en assembleur importable et que leur problème c'est le compilo?
Quelqu'un peut m'expliquer?
Je ne suis pas développeur, je ne suis pas aussi intelligent et je n'ai pas 1% des connaissances de ce type, mais j'ai l'impression que ce dont il parle est le portage d'une application pas du tout portable, bref quasiment le développement d'un autre produit équivalent.
Un flash player bis qui serait portable, lui, facilement sur beaucoup de plateformes ensuites, et même qui résoudrait au passage leurs problèmes de windows64 par exemple.
Si je ne me trompe pas, si j'étais le type qui postule pour le job, je demanderais un salaire un peu mirobolant parce que j'ai l'impression qu'ils sont dans le caca. Trop liés à une plateforme dans un monde où les applis net doivent être portées sur pleins de matériel comme des consoles et des embedded et des telephones, bref, les bases probablement du player de demain.
[^] # Re: Une petite question et une remarque
Posté par Frédéric COIFFIER . Évalué à 1.
Après tout, la version 7 pour x86 marche bien sous Linux ! Comme dit plus haut une version pour MAC OS X existe, donc, le portage ne doit pas être infaisable.
En tout cas, je trouve la démarche louable de fournir un plugin flash pour toutes les plateformes !! (après, si ça avait été libre, ça aurait été mieux...)
[^] # Re: Une petite question et une remarque
Posté par Paul . Évalué à 4.
Le support des masques est relouté, l'objet Stage (stage=scène, avec lequel on peut manipuler la taille globale de celle-ci) est tout pourri, les swf faisant plus que la taille de la fenêtre ou redimmensionés dynamiquement provoquent des erreurs d'affichage énormes et ça raaaaaaaaaaaame grave, bref, c'est un support plus que tou-naze.
Espérons que le 8, meme s'il met longtemps a arriver offre quelque chose de sérieux.
[^] # Re: Une petite question et une remarque
Posté par Frédéric COIFFIER . Évalué à 2.
[^] # Re: Une petite question et une remarque
Posté par BAud (site web personnel) . Évalué à 4.
ce serait déjà un 1er pas vers des développements ouverts...
[^] # Re: Une petite question et une remarque
Posté par un_brice (site web personnel) . Évalué à 3.
Ton problème doit venir d'ailleurs (si tu est sous gentoo, gaffe aux cflags et sinon au timing de la ram).
[^] # Re: Une petite question et une remarque
Posté par ZeroHeure . Évalué à 3.
Peut-être qu'il y a une demande pour intégrer du Flash sur des stations de travail Unix ?
Peut-être qu'ils ont l'intention de libérer le bousin - ce qui ferait une bonne explication, hein?
"La liberté est à l'homme ce que les ailes sont à l'oiseau" Jean-Pierre Rosnay
[^] # Re: Une petite question et une remarque
Posté par herodiade . Évalué à 4.
[^] # Re: Une petite question et une remarque
Posté par Guillaume Knispel . Évalué à 2.
# les programmes lents
Posté par ZeroHeure . Évalué à 2.
Dans les commentaires de son billet, quelqu'un indique la librairie iboirl http://www.schleef.org/liboil/(...) (par l'auteur de player Flash GPL) qui permet d'optimiser toutes les fonctions Multimedia à l'aide de MMX, d'Altivec, etc.
"La liberté est à l'homme ce que les ailes sont à l'oiseau" Jean-Pierre Rosnay
[^] # Re: les programmes lents
Posté par M . Évalué à 4.
Pourtant des projet multimedia dans ffmpeg, xvid, x264 se debrouille bien...
[^] # Re: les programmes lents
Posté par wismerhill . Évalué à 4.
[^] # Re: les programmes lents
Posté par un_brice (site web personnel) . Évalué à 10.
Mais le problème ne se pose pas que sous GNU/Linux: apparement cette syntaxe n'est même pas disponible dans le compilo microsoft pour leur OS "ms windows xp 64 bits". Autrement dit leur code non portable destiné à msvc est condamné, et ça les fait ch*er (d'autant plus que contrairement à konqueror, msie 64 bit ne sait aparement pas utiliser les plugins 32 bits).
S'ils avaient utilisés GCC dès le début, au contraire, le problème ne serait pas posé.
# dites
Posté par Éric (site web personnel) . Évalué à 4.
On est encore obligé de jouer de l'assembleur dès qu'on veut utiliser des choses multimédia efficacement ? de faire de l'assembleur pour utiliser mmx/sse ?
Personne n'a encore fait de compilo assez intelligent pour utiliser mmx/sse tout seul ? de bibliothèque assez bien foutue pour lancer des fonction multimédia sans tomber dans de l'assembleur ?
C'est surtout ça moi qui m'étonne.
[^] # Re: dites
Posté par Troy McClure (site web personnel) . Évalué à 6.
De mon experience (limitée), non. Avec gcc, les "intrinsics" (les fonctions _mm_add_ps etc) produisent du très bon code. Par contre quand j'ai essayé de compiler le même code avec msvc 2003, les perf ont été divisées par deux, donc je pense que quand il dit "Please note that we can't use intrinsics on x86 since they generate extremly slow code" il parle de msvc, pas de gcc. Honnetement je serais à leur place je switcherais tout sous gcc: xcode pour macos, mingw pour windows, et gcc pour le reste :)
> Personne n'a encore fait de compilo assez intelligent pour utiliser mmx/sse tout seul ?
icc est censé savoir le faire, pour gcc c'est en cours mais je ne pense pas qu'il faille en attendre des miracles, le compilateur est obligé de deviner trop de choses: l'alignement des trucs, est-ce que ça aliase ou pas, et surtout il n'y a pas de moyen de lui dire "ça c'est LA boucle où on va passer 95% du temps je me que tu me l'optimise à bloc"
[^] # Re: dites
Posté par ckyl . Évalué à 8.
le --fprofile-arcs et ses amis de gcc servent à ca. L'idée est simple, sans aide un compilateur aura beaucoup de mal a savoir si la branche if ou else a plus de chance d'être exécutée. On peut demander au programmeur d'annoter son code mais c'est lourd et souvent le programmeur n'en sait trop rien voir se trompe.
L'idée de générer un premier exécutable non optimisé avec le profiling activé pour ensuite se reservir des informations d'exécution pour recompiler le programme est très bonne.
Au passage si un compilateur sait optimiser a bloc du code ca coute pas plus cher de tout optimiser à bloc. On est pas en train de payer un ingé expert à la minute pour le faire :-)
[^] # Re: dites
Posté par Troy McClure (site web personnel) . Évalué à 3.
Mais en pratique c'est assez lourd à mettre en oeuvre, du coup c'est peu utilisé, et comme c'est peu utilisé ça marche mal (y'a des bugreports où gcc optimise moins bien avec le profile feedback que sans). Pour les branches if on peut déjà annoter avec __builtin_expect mais je n'ai jamais vu de difference sensible (sur x86).
Perso je prefere largement annoter le code, c'est quand même pas bien dur de savoir quels sont les quelques points chauds du programme.
> Au passage si un compilateur sait optimiser a bloc du code ca coute pas plus cher de tout optimiser à bloc.
ça coute en temps de compilation!
[^] # Re: dites
Posté par herodiade . Évalué à 4.
C'est possible avec gcc (de signaler les parties de code nécéssitant une meilleur optim) ?
Comment fait-on ?
[^] # Re: dites
Posté par ckyl . Évalué à 2.
Pas a ma connaissance. Tu actives les options globalement ou pas du tout.
Par contre il existe un petit nombre de mots magiques pour l'aider par exemple __builtin_expect qui permet d'indiquer quelle branche sera la plus probablement utilisée (les likely/unlikely de linux viennent de la), _builtin_prefetch pour charger des adresses en cache.
Il y en a peut être d'autres.
[^] # Re: dites
Posté par M . Évalué à 4.
Mais du peu que j'ai testé, ca reste assez loin d'un code optimise a la main...
# troll ?
Posté par M . Évalué à 10.
Tout d'abord les 3/4 de sont articles concernent l'assembleur : Ben oui, l'assembleur c'est pas portable, y a rien de nouveau a devoir reecrire les algos si on le porte sur une autre plateforme.
Quand a la syntaxe, ca serait de la faute du monde unix s'il se sont laissé enfermé dans une syntaxe non portable propre a visual studio/compilo intel ?
De plus il se plaint d'avoir a tous reecrire, il faudra lui signaler qu'il existe des scripts qui font tres bien le boulot ou encore que les dernieres versions de gcc supporte la syntaxe intel.
Il faudra aussi lui montrer que d'autre projet (ffmpeg, x264, kernel linux, ...) se debrouille tres bien...
Apres le support 64bits ne marche pas sous visual studio, qu'il change de compilo !!!!
Et pour finir sur le debut de l'article :
This starts with sound support where we have to support many different sound standards (ALSA, OSS, aRTs, ESD etc.), framework support (X11, QT, GTK for copy&paste support f.ex.), IMEs (is there such a thing?), font support which is almost beyond comprehensible and many other quirks and forked 'standards'.
Sauf qu'il pourrait utiliser des framework deja tout fait comme gstreamer, libxine, ...., mais flash c'est pas libre....
Bref, ce blog m'a bien fait marrer.
PS : je passe sur le fait que ca ne sert pas toujours d'optimiser avec la nouvelle extention a la mode, du code MMX peut etre plus rapide que du code SSE2...
[^] # Re: troll ?
Posté par Éric (site web personnel) . Évalué à 1.
> algos si on le porte sur une autre plateforme.
Sauf que là ça concerne majoritairement un changement d'OS et de compilo, pas de plateforme, justement
[^] # Re: troll ?
Posté par Barnabé . Évalué à 5.
Me trompe-je ?
A-ce changé de sens depuis mes jeunes années ?
[^] # Re: troll ?
Posté par imalip . Évalué à 2.
[^] # Re: troll ?
Posté par Pierre . Évalué à 0.
il n'y a pas tant que ca d'instructions mmx.
Ecrire un petit parseur perl qui converti tout ca doit se faire en maxi une semaine-homme..
[^] # Re: troll ?
Posté par M . Évalué à 4.
Et oui tu n'ecrit pas directement du code machine qui d'ailleur devrait etre adapter suivant les OS (format de l'exe, meme convention d'appel, ...)
[^] # Re: troll ?
Posté par herodiade . Évalué à 2.
Est-ce que gcc peut produire du code windows 64 bits ?
Sauf qu'il pourrait utiliser des framework deja tout fait comme gstreamer, libxine, ...., mais flash c'est pas libre....
Bin il peut encore utiliser des frameworks utilisant une licence plus permissive (LGPL, BSD, MIT...). Comme libao ou libsdl.
[^] # Re: troll ?
Posté par tinic . Évalué à 10.
I am familiar with ffmpeg (I have contributed a little piece of code to it in past in swf.c). In reality we'll almost certainly switch completely to use intrinsics (AMD provides conversion scripts which facilitate that somewhat).
You are right, using SSE does usually not bring anything useful to the table compared to MMX. SSE is a requirement mainly for WindowsXP-64bit which does not support MMX.
And yes, another point you right is that Flash is not free, meaning we can't use LPGL or GPL licensed software. Nothing I can do about it, it's a major hurdle. NVidia has an interesting approach, offering an open source shim around their core driver, ideally I would like to see the same for the Linux Flash Player. There are plenty of ideas going around.
The main reason I am screaming for a Linux specialist within Macromedia is the fact that Flash Player 7 was ported by a reputable, well known company in the Linux space (I wish I could tell you the name). They had a full engineering team working on it for some time. Still, the results were very disappointing. One engineer at Macromedia is just a start and needs to get a handle on the work required, make sure the rest of the engineering team does not introduce more hurdles over time, which would make the port even more difficult. The long term goal is to keep this thing as portable as possible, something we sometimes screw up because we do not understand a platform.
[^] # Re: troll ?
Posté par Colin Leroy (site web personnel) . Évalué à 8.
you can use an LPGL library with no legal problems at all. The easiest way to comply to the licence is to link dynamically to the library.
[^] # Re: troll ?
Posté par herodiade . Évalué à 3.
About your note on multiplicity of interfaces/tookits/... to support: the usual way to handle this on OSS world is to use one of the (many) abstractions libs provided for free around there. I'm sure you'll find what you need there, even if the licence restricts you to very open licences like MIT or BSD.
About the asm problem: I'm sure the linux community would welcome a stable and clean port even if it's not optimised (rather than nothing, or something unstable like previous players).
And yes, having a linux specialist at home helps a lot to keep the code from going too OS specific (at least, it worked on my compagny).
[^] # Re: troll ?
Posté par M . Évalué à 2.
I agree that my reply was a bit extremist.
I understand it is quite hard to do a multi-platform software that use hardware/system specific things.
May be you should try to think about UNIX philosophy : KIS (Keep it simple) and try to split the flash software in order it could use library for accesing system specific stuff (SDL for the sound and video, ...). I am sure you could find good library with open license.
For asm part, yes there aren't very clean solution to write portable asm. And even if gcc syntax is more portable, it is not the best (some gcc version break things, not clean way to use macro in inlined asm, ...).
Thanks for trying to do great linux version of flash.
Good luck.
# interface sympa?
Posté par collinm (site web personnel) . Évalué à -10.
www.solutions-norenda.com
# le flash utilisé par des artistes
Posté par vat . Évalué à 2.
http://www.paris-art.com/num_detail-2544-.html(...)
# mplayer
Posté par Pierre . Évalué à 4.
mplayer et surtout ffmpeg sans sortent bien. La methode est assez simple.. On identifie les fonctions a optimiser ( genre dct, fonction de scrolling, deformation, etc), on cree pleins de repertoire pour chaque archi: mkdir armv6 ppc i586 i786 x86_64 etc et au boulot! un petit gars prends le manuel de chaque archi, et se tape l'optimisation en asm..
AMHA, ca n'est pas si critique que ca au niveau genie logiciel. Pas besoin d'etre un gouru de linux, d'ailleurs, linux n'a rien a voir avec ca (a part c'est que le noyau a le meme genre de probleme,et les resouds a peu pres de la meme maniere). C'est juste beaucoup de travail.
Par contre, le casse tete pour faire un portage proprietaire pour linux est bien reel, si on veut que le soft s'integre dans tous les bureaux et toutes les distributions. Nvidia connais un peu le probleme...
Leur methode de recrutement me semble un peu utopique. Il me semble qu'un developeur un minimum competant saura se former sur les technos dont il a besoin. Ils perdent leur "time to market" a chercher la perle rare..
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.