C'est marrant les player mplayer,vlc, xine, totem, aviplay ne consomme pas 100% de CPU
Tu confonds deux choses
a) Être bourrin ou gentil lors de l'execution de ton appli (combien de locks tu mets, combien d'interrupts tu goinfres, si tu es compatible avec te petits camarades, combien d'allocation tu fais etc.)
b) Être consomateur de ressources disponibles.
En multimédia si tu veux limiter b) tu as intéret à forcer a le plus possible.
De plus généralement les gens ne regardent pas plusieurs vidéos en même temps. Fais le test un jour de lancer deux vidéos simultanément. La première devrait être fluide et le rester, la seconde va être à l'agonie.
C'est pour ça que quelque soit la puissance du CPU flash est toujours à 100%?
Non ca c'est juste que Flash est mal compilé sur ta machine, chez moi flash prend 20% de CPU sur un E3500 avec une CG nvidia 8700 (pilotes proprios) lors de la lecture d'une video HD 1080p. Tu a sun problème avec ton mode de rendu, c'est tout.
Elle va surtout faire du son, ce qui est mieux que pas de son du tout, ou juste le son de flash.
Non, la SDL ne fait pas de son, elle envoit un flux vers un device. Si c'est un device audio ALSA, le pilote Alsa le transformera en son, si c'est un fichier tu auras un fichier wav à la fin.
S'il tient absolument à avoir une sychro temps réel alors il se coltine jack plutôt que SDL
Jack ne fais pas de son non plus, il sert juste à mettre à la queue leu leu des devices. Si un des devices de la chaine est un device son Alsa, Alsa fera du bruit. Sinon cf plus haut.
mais j'ai jamais entendu quelqu'un qui voulait avoir une synchro supérieur à ce que font tous les player vidéos.
En video tu as généralement deux secondes de buffer (parfois plus). C'est une des choses les plus simple à synchroniser (même si c'est déjà bien lourd merci les bit rates variables). Si tu as un problème de décodage/remplissage de buffer/défaut de ressouce tu as deux secondes pour y remedier et recommencer à remplir le buffer. C'est très très confortable.
Dans un jeu tu as généralement un vingtième de seconde pour comprendre un évènement, charger le rendu graphique, charger le rendu son, les synchroniser et les jouer.
Certes le rendu son dans les vidéos est souvent très bien synchronisé à l'image, mais c'est le cas "simple". faire la même chose en interactif ca peut être une vraie tannée.
[^] # Re: Cela dépend des cas...
Posté par Jerome Herman . En réponse au journal Linux ou POSIX ?. Évalué à 1.
Tu confonds deux choses
a) Être bourrin ou gentil lors de l'execution de ton appli (combien de locks tu mets, combien d'interrupts tu goinfres, si tu es compatible avec te petits camarades, combien d'allocation tu fais etc.)
b) Être consomateur de ressources disponibles.
En multimédia si tu veux limiter b) tu as intéret à forcer a le plus possible.
De plus généralement les gens ne regardent pas plusieurs vidéos en même temps. Fais le test un jour de lancer deux vidéos simultanément. La première devrait être fluide et le rester, la seconde va être à l'agonie.
C'est pour ça que quelque soit la puissance du CPU flash est toujours à 100%?
Non ca c'est juste que Flash est mal compilé sur ta machine, chez moi flash prend 20% de CPU sur un E3500 avec une CG nvidia 8700 (pilotes proprios) lors de la lecture d'une video HD 1080p. Tu a sun problème avec ton mode de rendu, c'est tout.
Elle va surtout faire du son, ce qui est mieux que pas de son du tout, ou juste le son de flash.
Non, la SDL ne fait pas de son, elle envoit un flux vers un device. Si c'est un device audio ALSA, le pilote Alsa le transformera en son, si c'est un fichier tu auras un fichier wav à la fin.
S'il tient absolument à avoir une sychro temps réel alors il se coltine jack plutôt que SDL
Jack ne fais pas de son non plus, il sert juste à mettre à la queue leu leu des devices. Si un des devices de la chaine est un device son Alsa, Alsa fera du bruit. Sinon cf plus haut.
mais j'ai jamais entendu quelqu'un qui voulait avoir une synchro supérieur à ce que font tous les player vidéos.
En video tu as généralement deux secondes de buffer (parfois plus). C'est une des choses les plus simple à synchroniser (même si c'est déjà bien lourd merci les bit rates variables). Si tu as un problème de décodage/remplissage de buffer/défaut de ressouce tu as deux secondes pour y remedier et recommencer à remplir le buffer. C'est très très confortable.
Dans un jeu tu as généralement un vingtième de seconde pour comprendre un évènement, charger le rendu graphique, charger le rendu son, les synchroniser et les jouer.
Certes le rendu son dans les vidéos est souvent très bien synchronisé à l'image, mais c'est le cas "simple". faire la même chose en interactif ca peut être une vraie tannée.