Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

nombre réponses : 25

#0 Re : -1 »  Cherche testeurs pour moteur de jeu Action RPG type Zelda 3 » Le 29/12/2012, à 00:52

chaoswizard
Réponses : 25

Ma contribution :

  • ça pourrait être bien d'ajouter l'option -f dans les options de clean du Makefile,

  • la ligne de compilation des fichiers .cpp est fausse :

    %.o: %.cpp

    au lieu de

    %.o: %.c
  • sans optimisations :

     PID USER      PR  NI  VIRT  RES  SHR S  %CPU %MEM    TIME+  COMMAND                                                                                                   
     4327 chaoswiz  20   0 69780  22m 3952 R  28,3  0,8   0:12.97 ActionRPG         

    avec optimisations (-O3) :

      PID USER      PR  NI  VIRT  RES  SHR S  %CPU %MEM    TIME+  COMMAND                                                                                                   
     6583 chaoswiz  20   0 69720  22m 3904 R  25,7  0,8   0:02.88 ActionRPG 

    dans tous les cas, l’utilisation CPU me parait absolument énorme, il doit y avoir un problème à quelque part !

  • au secours mon capitaine, ça fuit ! :

    ==6923== HEAP SUMMARY:
    ==6923==     in use at exit: 15,011,328 bytes in 3,852 blocks
    ==6923==   total heap usage: 27,575 allocs, 23,723 frees, 266,942,896 bytes allocated
    ==6923== 
    ==6923== 20 bytes in 2 blocks are definitely lost in loss record 354 of 1,886
    ==6923==    at 0x4C2C04B: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
    ==6923==    by 0x5D94ED1: strdup (in /usr/lib/libc-2.16.so)
    ==6923==    by 0x69456D5: ??? (in /usr/lib/libX11.so.6.3.0)
    ==6923==    by 0x6946614: _XimSetICValueData (in /usr/lib/libX11.so.6.3.0)
    ==6923==    by 0x6941CBD: _XimLocalCreateIC (in /usr/lib/libX11.so.6.3.0)
    ==6923==    by 0x69281A2: XCreateIC (in /usr/lib/libX11.so.6.3.0)
    ==6923==    by 0x4E727AC: ??? (in /usr/lib/libSDL-1.2.so.0.11.4)
    ==6923==    by 0x4E736E0: ??? (in /usr/lib/libSDL-1.2.so.0.11.4)
    ==6923==    by 0x4E61D1A: SDL_VideoInit (in /usr/lib/libSDL-1.2.so.0.11.4)
    ==6923==    by 0x4E3B20B: SDL_InitSubSystem (in /usr/lib/libSDL-1.2.so.0.11.4)
    ==6923==    by 0x4E3B28B: SDL_Init (in /usr/lib/libSDL-1.2.so.0.11.4)
    ==6923==    by 0x4E62A61: SDL_SetVideoMode (in /usr/lib/libSDL-1.2.so.0.11.4)
    ==6923== 
    ==6923== 24 bytes in 1 blocks are definitely lost in loss record 378 of 1,886
    ==6923==    at 0x4C2C04B: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
    ==6923==    by 0x7249A8D: ???
    ==6923==    by 0x7249524: ???
    ==6923==    by 0x724989C: ???
    ==6923==    by 0x7249CC1: ???
    ==6923==    by 0x7244498: ???
    ==6923==    by 0x4E737C4: ??? (in /usr/lib/libSDL-1.2.so.0.11.4)
    ==6923==    by 0x4E61D1A: SDL_VideoInit (in /usr/lib/libSDL-1.2.so.0.11.4)
    ==6923==    by 0x4E3B20B: SDL_InitSubSystem (in /usr/lib/libSDL-1.2.so.0.11.4)
    ==6923==    by 0x4E3B28B: SDL_Init (in /usr/lib/libSDL-1.2.so.0.11.4)
    ==6923==    by 0x4E62A61: SDL_SetVideoMode (in /usr/lib/libSDL-1.2.so.0.11.4)
    ==6923==    by 0x4024FD: main (main.cpp:32)
    ==6923== 
    ==6923== 192 (16 direct, 176 indirect) bytes in 1 blocks are definitely lost in loss record 1,484 of 1,886
    ==6923==    at 0x4C2C25E: realloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
    ==6923==    by 0x692DC9E: ??? (in /usr/lib/libX11.so.6.3.0)
    ==6923==    by 0x692E155: ??? (in /usr/lib/libX11.so.6.3.0)
    ==6923==    by 0x692F904: ??? (in /usr/lib/libX11.so.6.3.0)
    ==6923==    by 0x6930095: _XlcCreateLC (in /usr/lib/libX11.so.6.3.0)
    ==6923==    by 0x694C7AF: _XlcDefaultLoader (in /usr/lib/libX11.so.6.3.0)
    ==6923==    by 0x693736D: _XOpenLC (in /usr/lib/libX11.so.6.3.0)
    ==6923==    by 0x69374B7: _XlcCurrentLC (in /usr/lib/libX11.so.6.3.0)
    ==6923==    by 0x693750D: XSetLocaleModifiers (in /usr/lib/libX11.so.6.3.0)
    ==6923==    by 0x4E7290B: ??? (in /usr/lib/libSDL-1.2.so.0.11.4)
    ==6923==    by 0x4E736E0: ??? (in /usr/lib/libSDL-1.2.so.0.11.4)
    ==6923==    by 0x4E61D1A: SDL_VideoInit (in /usr/lib/libSDL-1.2.so.0.11.4)
    ==6923== 
    ==6923== 932,840 bytes in 1 blocks are possibly lost in loss record 1,880 of 1,886
    ==6923==    at 0x4C2C25E: realloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
    ==6923==    by 0x4E48904: ??? (in /usr/lib/libSDL-1.2.so.0.11.4)
    ==6923==    by 0x4E4969E: ??? (in /usr/lib/libSDL-1.2.so.0.11.4)
    ==6923==    by 0x4E5EEA7: SDL_LowerBlit (in /usr/lib/libSDL-1.2.so.0.11.4)
    ==6923==    by 0x4E5F11E: SDL_UpperBlit (in /usr/lib/libSDL-1.2.so.0.11.4)
    ==6923==    by 0x403F64: Carte::afficherCarte(SDL_Surface*, SDL_Surface*, SDL_Surface*, SDL_Surface*, SDL_Surface*, position**, int, int) (Carte.cpp:242)
    ==6923==    by 0x41F406: DeroulementPartie::afficherPartieEnCours(SDL_Surface*, bool*) (DeroulementPartie.cpp:204)
    ==6923==    by 0x433972: Jeu::miseAJour(SDL_Surface*, bool*) (Jeu.cpp:76)
    ==6923==    by 0x4025C0: main (main.cpp:51)
    ==6923== 
    ==6923== 952,320 bytes in 1 blocks are possibly lost in loss record 1,881 of 1,886
    ==6923==    at 0x4C2C04B: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
    ==6923==    by 0x4E5FB0A: SDL_CreateRGBSurface (in /usr/lib/libSDL-1.2.so.0.11.4)
    ==6923==    by 0x4E5FC7B: SDL_ConvertSurface (in /usr/lib/libSDL-1.2.so.0.11.4)
    ==6923==    by 0x428FD4: ImagesPartie::chargerImage(std::string) (ImagesPartie.cpp:47)
    ==6923==    by 0x43721E: SelectionPartie::SelectionPartie() (SelectionPartie.cpp:76)
    ==6923==    by 0x4336B2: Jeu::Jeu() (Jeu.cpp:26)
    ==6923==    by 0x40256A: main (main.cpp:42)
    ==6923== 
    ==6923== 952,320 bytes in 1 blocks are possibly lost in loss record 1,882 of 1,886
    ==6923==    at 0x4C2C04B: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
    ==6923==    by 0x4E5FB0A: SDL_CreateRGBSurface (in /usr/lib/libSDL-1.2.so.0.11.4)
    ==6923==    by 0x4E5FC7B: SDL_ConvertSurface (in /usr/lib/libSDL-1.2.so.0.11.4)
    ==6923==    by 0x428FD4: ImagesPartie::chargerImage(std::string) (ImagesPartie.cpp:47)
    ==6923==    by 0x43727B: SelectionPartie::SelectionPartie() (SelectionPartie.cpp:77)
    ==6923==    by 0x4336B2: Jeu::Jeu() (Jeu.cpp:26)
    ==6923==    by 0x40256A: main (main.cpp:42)
    ==6923== 
    ==6923== 12,113,047 (40 direct, 12,113,007 indirect) bytes in 1 blocks are definitely lost in loss record 1,886 of 1,886
    ==6923==    at 0x4C2BA77: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
    ==6923==    by 0x40255F: main (main.cpp:42)
    ==6923== 
    ==6923== LEAK SUMMARY:
    ==6923==    definitely lost: 100 bytes in 5 blocks
    ==6923==    indirectly lost: 12,113,183 bytes in 2,978 blocks
    ==6923==      possibly lost: 2,837,480 bytes in 3 blocks
    ==6923==    still reachable: 60,565 bytes in 866 blocks
    ==6923==         suppressed: 0 bytes in 0 blocks

    Il y a beaucoup de new mais aucun delete (de même, les fonctions SDL pour libérer les ressources ne sont jamais appelées)...
    N.B. : il n'y a pas de garbage collector en C++ !!!
    De manière général, il y a beaucoup d'allocations dynamiques là où elles n'ont pas lieux d'être !
    (tu es un programmeur Java à la base ? (ce n'est pas une critique, mais cela expliquerait des choses))

  • il existe déjà plusieurs Zelda dans ce genre (qui sont libres) ; ça peut te servir !

  • les graphismes et le moteur semblent bons,

  • si tu veux d'autres tests, n'hésites pas !

  • Zelda, c'est bien !

Ma config :

  • Archlinux 64 bits,

  • Intel(R) Core(TM)2 Duo CPU     T6670  @ 2.20GHz,

  • 3 Gio de Ram.

++

#1 Re : -1 »  Cherche testeurs pour moteur de jeu Action RPG type Zelda 3 » Le 29/12/2012, à 12:34

chaoswizard
Réponses : 25

Manque de bol, je ne connais pas vraiment la SDL, donc ça va être dur de t'aider précisément :S
Dans l'idée, toutes les ressources sont rafraichies toutes les 1/50 de secondes, même s'il ne se passe rien ?
C'est peut être ça le problème non ? Si aucune action n'est faite, il devrait n'y avoir qu'une faible conso CPU vu que rien ne change, non ?

A titre de comparaison, chez moi, Zelda ROTH consomme 18% de CPU contre 28% pour le jeu que je développe. C'est sans doutes perfectible mais ce n'est si déconnant que ça quand même (enfin... je pense).

Après, ROTH n'est peut être pas parfait non plus...

Je ne connaissait pas l'outil valgrind. Par contre, je n'arrive pas à reproduire les erreurs que tu me signale. Est-ce que tu pourrais me préciser comment tu y arrives ?

Il faut compiler avec le flag de debug (et sans optimisations) :

CFLAGS=-W -Wall -ansi -pedantic -g

puis lancer valgrind :

valgrind ./ActionRPG

Toutes les options supplémentaires nécessaires sont ensuite proposées par valgrind comme :

valgrind --track-origins=yes --leak-check=full ./ActionRPG

Attention, au lancement avec valgrind, ça rame sévère ! (et c'est normal !)

Sinon, je suis un piètre programmeur Java à la base et autodidacte en C++

Je te conseille de corriger ce problème de fuite mémoire avant de continuer (une fois que le code est trop gros, ça peut devenir compliqué).
Tu as groso modo quatre concepts à comprendre ou mettre en place :

  • contrairement à Java, tu n'as pas forcement besoin de créer un objet avec new : par exemple, dans ta classe DeroulementPartie, tu peux très bien créer de manière statique les instances des classes Carte, Clavier, ...

    class DeroulementPartie : public ImagesPartie
    {
    	...
    	
    	private:
    		Carte map;
    		Clavier clav;
    	
    	...
    };
  • si tu fais un new, tu dois faire un delete (dans le destructeur par exemple). Dans la SDL, il doit y avoir des new (ou des malloc) "cachés", et tu dois appeler les fonctions signalées dans la doc pour libérer les ressources (comme SDL_VideoQuit quand tu utilises SDL_VideoInit)

  • tu peux passer les objets en paramètres des fonctions par référence (voir ici)

  • si tu dois vraiment gérer des pointeurs, que le même pointeur est utilisé à plusieurs endroits dans le code et que tu n'as strictement aucune idée de quand rendre la mémoire, tu peux laisser "quelqu'un" gérer ça pour toi (voir ici)

++

#2 Re : -1 »  Cherche testeurs pour moteur de jeu Action RPG type Zelda 3 » Le 30/12/2012, à 23:04

chaoswizard
Réponses : 25

Ok pour les autres libérations.
Il faudrait (si tu es joueur), prendre les dernières versions des librairies et les compiler en debug pour voir d'où viennent les fuites restantes.

Tu as avancé sur le "problème" de l'utilisation CPU ?

#3 Re : -1 »  TVDownloader: télécharger les médias du net ! » Le 25/11/2012, à 17:42

chaoswizard
Réponses : 2 858

Donc si PluzzDL ne renvoie que l'URL du fichier, c'est autre chose qui télécharge la vidéo ?!
Pas super utile de passer par PluzzDL alors...

#4 Re : -1 »  TVDownloader: télécharger les médias du net ! » Le 25/11/2012, à 17:59

chaoswizard
Réponses : 2 858

Je suis en train d'ajouter les exceptions/nettoyer un peu tout ça.
Je ferai le reste ensuite !

#5 Re : -1 »  TVDownloader: télécharger les médias du net ! » Le 25/11/2012, à 18:28

chaoswizard
Réponses : 2 858

Hum, il doit y avoir moyen de lire le fichier TS (du coup, il faudrait ajouter une option pour ne pas faire la conversion avec FFmpeg ?).
Si tu n'as pas le son avec le .ts et le .mkv, ça doit venir de XMBC qui ne sait pas gérer le fichier audio.

#6 Re : -1 »  TVDownloader: télécharger les médias du net ! » Le 25/11/2012, à 18:30

chaoswizard
Réponses : 2 858
11gjm a écrit :

Bonjour ,

@chaoswizard :

Je t'ai posé une question :
> FFmpeg
> Faut-il le mettre au niveau de python.exe ?

Ta réponse :
>> Pour FFMPEG, ce n'est pas la peine, il était utilisé pour une autre façon de charger les vidéos.

Et maintenant , que me réponds-tu ?

Cordialement .

Ah, effectivement, maintenant, la question a un sens ! (c'est un peu le chaos de changer de façon de charger les vidéos toute les 2 semaines...).
Il faudrait que le binaire soit au même niveau que le main.py/pluzzdl.exe ; mais je n'ai pas encore ajouté le code pour Windows ; je vais le faire !

EDIT : c'est fait !

#7 Re : -1 »  TVDownloader: télécharger les médias du net ! » Le 25/11/2012, à 22:09

chaoswizard
Réponses : 2 858

Je me demandais si une "convergence" entre Tvdownloader et xbmc était possible/souhaitable au niveau des plugins ?

Souhaitable oui ; possible, je ne sais pas...

Sais pas pourquoi, j'attrape des exceptions sur les messages de log (avec accents je suppose)

Hum, encore un problème de type ça ; il faudrait essayer de rajouter (juste pour tester), un u (u"chaîne") devant les chaînes de caractères pour les passer en unicode.
Si c'est ça, je ferai la modification (de toute façon, dans le plugin XMBC, le logger est désactivé, non ? ça pose quand même un problème ?).

En accolant simplement les fragments m3u8 j'ai aussi du mal à lire directement le fichier TS

Comme je l'ai déjà dit, c'est parce qu'il manque les infos d'en-tête de la vidéo (qui sont rajoutés lors de l’encapsulation MKV).
Si XMBC sait récupérer le flux crée par FFmpeg, ça peut être pratique.

#8 Re : -1 »  TVDownloader: télécharger les médias du net ! » Le 25/11/2012, à 23:02

chaoswizard
Réponses : 2 858

@fakbill : heu, soit ils ont déjà bloqué le logiciel (:o), soit c'est parce que tu es à l'étranger.

si ça a une chance de marcher, c'est en ajoutant le bout de code pour mon socks proxy

Je crois que c'est déjà intégré.

#9 Re : -1 »  TVDownloader: télécharger les médias du net ! » Le 26/11/2012, à 19:46

chaoswizard
Réponses : 2 858

Oui l'option -s me semble buggée :
"import socks
import socket
socks.setdefaultproxy(socks.PROXY_TYPE_SOCKS5, "127.0.0.1", 8080)
socket.socket = socks.socksocket
dois venir *avant*
import liburl2
"
ce qui rend le parsing des options et l'application du -s pas super propre mais bon...

Whaha, moche ; je me demande si je ne vais pas virer les proxies sock du coup...

un autre détail :
# -*- coding:Utf-8 -*- semble faux.
C'est
# -*- coding: utf-8 -*- (emacs râle).

Je ne pense pas que ça soit faux.

En mettant quelque chose d'invalide, j'obtiens ça :

SyntaxError: encoding problem: with BOM

#10 Re : -1 »  TVDownloader: télécharger les médias du net ! » Le 28/11/2012, à 19:09

chaoswizard
Réponses : 2 858
rimram31 a écrit :
chaoswizard a écrit :

Whaha, moche ; je me demande si je ne vais pas virer les proxies sock du coup...

Question peut-être stupide, pourquoi ne t'es tu pas appuyé sur le support proxy d'urllib2 ? Ex: http://stackoverflow.com/questions/1450 … th-urllib2 . Il ne supporte que le http, mais ça doit être suffisant.

La réponse est dans la question : parce qu'il ne supporte que le HTTP et que quelqu'un m'avait demander le support des proxies SOCK5.

#11 Re : -1 »  TVDownloader: télécharger les médias du net ! » Le 06/12/2012, à 19:29

chaoswizard
Réponses : 2 858
grandtoubab a écrit :

Désolé pour ma myopie mais je ne vois pas où est le fichier zip à télécharger dans le post  http://passion-xbmc.org/add-ons-video/( … #msg146948

Je n'avais rien dit quand rimram31 avait posté son lien parce que je pensais être débile, mais pour moi non plus, impossible de trouver les fichiers source...

#12 Re : -1 »  TVDownloader: télécharger les médias du net ! » Le 09/12/2012, à 21:41

chaoswizard
Réponses : 2 858

je n'arrive pas a retrouver l'adresse pour recuperer les fichiers de plyzzdl, pouvez vous me l'indiquer svp ?

Quels fichiers ?

j'en profite pour reposer ma question, bientot une version à jour sur le ppa ?

Ce n'est pas déjà le cas ?

#13 Re : -1 »  TVDownloader: télécharger les médias du net ! » Le 10/12/2012, à 22:00

chaoswizard
Réponses : 2 858
Hizoka a écrit :

L'art et la manière de passer pour un con tongue

Bon j'ai pas tord sur le fait qu'il n'y a pas de version pour Quantal tongue

Par contre je ne pige pas comment j'ai fait pour ne pas avoir vu ça...

Et le paquet deb qui existe ne fonctionne pas pour Quantal ?
(sinon, ce n'est pas pour rien que j'ai mis le numéro de version dans les logs, les gens se trompent à chaque fois...)

#14 Re : -1 »  TVDownloader: télécharger les médias du net ! » Le 10/12/2012, à 23:04

chaoswizard
Réponses : 2 858

Ben si c'est sur que ça marche, je peux copier le paquet dans le dépôt Quantal.

#15 Re : -1 »  TVDownloader: télécharger les médias du net ! » Le 11/12/2012, à 21:46

chaoswizard
Réponses : 2 858

Je viens de le copier dans la branche Quantal ; ça devrait être bon !

#16 Re : -1 »  TVDownloader: télécharger les médias du net ! » Le 27/12/2012, à 16:20

chaoswizard
Réponses : 2 858
11gjm a écrit :

@chaoswizard : peux-tu nous indiquer si tu envisages une version PluzzDL 0.9.4 , pour Windows . Merci .

Je viens de la faire.
(il y a vraiment des gens qui utilisent la version W$n ?)

#17 Re : -1 »  TVDownloader: télécharger les médias du net ! » Le 28/12/2012, à 13:05

chaoswizard
Réponses : 2 858
11gjm a écrit :

Il existe un problème concernant la lecture de la vidéo , au format .ts .
Je viens de télécharger 5% d'une émission : décalage son/image ou image figée .
Je viens de créer un fichier batch , afin de ré-encoder . Là , ça semble bon .

@echo on
ffmpeg -i "c_dans_lair_2012-12-26.ts" -target pal-vcd "c_dans_lair_2012-12-26.mpg"
pause
:fin

Normalement, un mkv est crée à la fin du chargement non ?

#18 Re : -1 »  TVDownloader: télécharger les médias du net ! » Le 28/12/2012, à 17:07

chaoswizard
Réponses : 2 858
suton a écrit :

Désolé , j'en étais resté dans le fil avec un rmtpdump en version 2.5 patché mais que pour les Version 32 et avec un nouveau script M6

Je ne crois pas qu'il y ait de nouveau côté rtmpdump...

Mais pour M6, c'est toujours du rtmp ? (pas de f4m ?)

#19 Re : -1 »  TVDownloader: télécharger les médias du net ! » Le 29/12/2012, à 14:50

chaoswizard
Réponses : 2 858

me suis pas trop embêté pour une reprise de download

Et moi, on m'a tellement embêté pour pouvoir le reprendre ! wink

#20 Re : -1 »  TVDownloader: télécharger les médias du net ! » Le 30/12/2012, à 23:19

chaoswizard
Réponses : 2 858
bibichouchou a écrit :

il ne faut pas qu'on fasse trop de hors-sujet sinon on va se faire gronder big_smile

Ah bon, par qui ?
Quand on est à 105 pages de messages, je crois que personne ne va râlait...

#21 Re : -1 »  TVDownloader: télécharger les médias du net ! » Le 19/02/2013, à 21:46

chaoswizard
Réponses : 2 858

Bonjour,

Je ne vois pas trop le problème : la version mobile de Pluzz doit être plus restrictive sur les @IPs utilisées que la version web.
Donc c'est normal de pouvoir voir la vidéo dans un navigateur mais pas de la charger avec pluzzdl.

#22 Re : -1 »  créer image d'une carte micro sd 1gb » Le 01/02/2013, à 21:42

chaoswizard
Réponses : 7

Pour tous ceux qui s'amusent à faire des images disque, un coup de zerofree ne fait pas de mal ! wink

#23 -1 »  [Ainol] Tablette Ainol Hero » Le 22/12/2012, à 15:16

chaoswizard
Réponses : 1

Bonjour à tous,

Comme je n'ai pas vu de discussion sur le fabricant chinois de tablettes Ainol, je me permets d'en créer une.

J'ai finalement décider de craquer pour une tablette Android (c'est moche, mais je finis toujours par craquer), mais comme les prix du marché me rebutaient un peu (environ 200€ pour une 7" et 300€ pour une 10"), j'ai cherché s'il n'y avait pas moins chers...
La marque Ainol (marque chinoise) semble proposer du bon pour pas trop chers.
J'ai craqué pour leur unique modèle 10" : le Ainol Hero ! (ils ont cependant beaucoup de modèles 7")

Avant de commencer, juste pour que celà soit bien clair : je ne m'engage pas sur l’exactitude des informations de cette discussion et je n'assurerai pas le SAV de votre tablette Ainol !

Description :

Pour commencer, la description de la bête :

  • Fabriquant : Ainol

  • Android : Android 4.1 (JB)

  • Architecture : Cortex-A9 (ARMv7)

  • Coeur : Double coeur

  • CPU : Amlogic AML8726-M6 1.5GHz

  • Puce graphique : Mali-400, 1080p decoding,Supporting OpenGL ES2.0, ES1.0, OpenVG1.1

  • RAM : 1G

  • Mémoire interne : 16G

  • Taille écran : 10.1 pouces

  • Ecran tactile : 10 point capacitif

  • Résolution écran : 1280 x 800 (16:10)

  • Ecran IPS  : Oui

  • WebCam : Arrière 2M Pixel, Avant 0.3M Pixel

  • HDMI : Mini-HDMI

  • Gyroscope : Oui

  • USB Port : Mini-USB

  • 3G : Non

  • GPS : Non

  • Bluetooth : Oui

  • Lecteur de carte : TF Card (MicroSD)

Quelques infos supplémentaires récoltées sur ce forum ou observées personnellement :

  • il n'est pas possible de recharger la tablette par le port USB en la branchant sur un PC ; il faut utiliser le chargeur fourni,

  • le wifi ne dépasse par les 65 Mbps (la restriction semble être due au bus d'échange de données),

  • le soft fourni avec la tablette est plutôt mauvais mais il est possible facilement de le flasher (voir plus bas).

Pour ce qui est du prix, j'ai personnellement eu la mienne pour 150€ ce qui inclus :

  • la tablette (avec adaptateur secteur et câble USB),

  • une housse,

  • une carte SD 4 Gio,

  • les frais de port,

  • les frais de douane.

Mise à jour logicielle :

Comme le soft fourni avec la tablette n'est vraiment pas génial (la plupart des applications sont en chinois...), il est intéressant de pouvoir installer une meilleur version d'Android.
Grâce à Christian Troy (voir son github), il est possible d'installer facilement CyanogenMod 10 (Android 4.1) sur cette tablette.

Toutes les infos sont disponibles sur ce post.
Tous ce fait assez facilement ; il y en a à peu près pour 3 min pour flasher le tout.

La tablette redémarre alors sur un Android 4.1 tout beau avec les applications par défaut qui vont biens.
Le Google Store voit la tablette comme une Nexus 7 : vous pourrez alors installer les applications disponibles pour cette tablette mais elles ne fonctionneront pas forcement si le matériel ne le permet pas (comme celles utilisant un GPS par exemple).

Globalement, tout s'installe très bien et le système est très fluide.

Connexion au PC :

Pour les développeurs (ou bidouilleurs, ou ...), il est également très simple de connecter la tablette au PC pour avoir accès à l'OS.

Il faut commencer par installer le SDK Android (disponibles ici).
Par exemple, avec la version 64 bits Linux :

apt-get install libc6-i386 lib32ncurses5 lib32stdc++6
unzip adt-bundle-linux-x86_64.zip -d /opt/
chmod -R a+rx /opt/adt-bundle-linux/
export PATH="/opt/adt-bundle-linux/sdk/platform-tools":"/opt/adt-bundle-linux/sdk/tools":"$PATH"

Il faut ensuite, en se basant sur ce tutoriel activer le debugging USB sur la tablette et ajouter un règle udev sur le PC :

SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", MODE="0666", GROUP="plugdev"

Il est alors facile de vérifier que la tablette est bien détecter et d'ouvrir un shell :

[chaoswizard@Arch-Laptop Android]$ adb devices
List of devices attached 
0123456789ABCDEF	device
[chaoswizard@Arch-Laptop Android]$ adb shell

En espérant que celle puisse être utile à certains !

#24 Re : -1 »  gestion mémoire C » Le 14/12/2012, à 22:36

chaoswizard
Réponses : 5

Bonjour,

Houalalala le massacre !

Quelques idées en vrac :

  • Pour la gestion mémoire, il n'est nécessaire d'allouer soi-même la mémoire que si on ne sait pas à l'avance (avant la compilation) le nombre d'éléments (tableau) que l'on va manipuler. Sinon, il suffit de définir les variables de façon statique et elles seront automatiquement détruites à la fin d'un bloc.

  • Il ne faut libérer la mémoire que si elle a été allouée : un malloc (ou calloc) = un free.

  • Pour un type primitif, il est sans doute plus simple de le retourner par valeur que par pointeur.

Et les exemples qui vont avec :

void afficherTableau( int *tableau, int taille )
{
	/* Il n'est pas nécessaire d'allouer dynamiquement cet entier
	 * il sera détruit automatiquement à la sortie de la fonction
	 */
	int i;
	
	for( i = 0 ; i < taille ; ++i )
	{
		printf( "%d = %d\n", i, tableau[ i ] );
	}
}
int *creerTableau( int taille )
{
	int *tableau;
	
	/* Il n'est pas possible, a la compilation, de savoir
	 * la taille que fera le tableau, il faut donc l'allouer 
	 * dynamiquement.
	 * Il faudra bien penser à libérer la mémoire plus tard avec free
	 */
	tableau = malloc( taille * sizeof( int ) );
	return tableau;
}

Pour le reste, il vaut sans doute mieux aller lire un tuto sur le fonction des pointeurs et la gestion de la mémoire !