Auteur Sujet: Upload pixels pour rendu soft  (Lu 766 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne ponce

    • Pouet.net
    • Coup de coeur
    • Voir le profil
    • Games from mars
  • Ancienneté: 2009
  • Groupe: aucun
  • Rôle: code
Upload pixels pour rendu soft
« le: 06 Octobre 2011 à 22:30:41 »
Bon voilà, j'aimerais bien faire du rendu soft et je me demande par quel moyen envoyer les pixels le plus rapidement possible.

- OpenGL PBO
- glDrawPixels ou glTexImage2D
- un objet DirectX 9 qui servirait à ça
- GDI ou GDI+ ou SDL ou SFML
- WPF
- un rendu hard DirectShow avec le décodeur de la CG
- ?

Il faudrait dans l'idéal que ça marche vite en 1920x1080
Est-ce que quelqu'un sait quelque chose là dessus ? (sur IRC on m'a dit dx9 mais j'aimerais avoir d'autres avis)
A votre avis ca serait quoi le plus rapide et surtout qui stalle pas toute la carte ?
Est-ce que c'est même possible ?




« Modifié: 06 Octobre 2011 à 22:33:48 par ponce »

Hors ligne ponce

    • Pouet.net
    • Coup de coeur
    • Voir le profil
    • Games from mars
  • Ancienneté: 2009
  • Groupe: aucun
  • Rôle: code
Re : Upload pixels pour rendu soft
« Réponse #1 le: 06 Octobre 2011 à 22:39:15 »
fquake utilise DirectDraw
http://users.skynet.be/fquake/

EDIT: apparemment cette librairie (par le mec de gafferongames) est faite exprès pour ça
http://code.google.com/p/pixeltoaster/
« Modifié: 07 Octobre 2011 à 01:21:53 par ponce »

Hors ligne latortue

    • Voir le profil
    • punkfloyd
  • Ancienneté: 1988
  • Groupe: punkfloyd
  • Rôle: graphiste
  • Ville: Paris
Re : Upload pixels pour rendu soft
« Réponse #2 le: 07 Octobre 2011 à 10:20:27 »
pixeltoaster est effectivement "la suite" de TinyPTC qui elle aussi était destinée à l'affichage de pixels.
"... Ne craignez pas d'être lent, craignez seulement d'être à l'arrêt ..."

Hors ligne krabob

    • Pouet.net
    • Voir le profil
    • www.m4nkind.com
  • Ancienneté: 1994
  • Groupe: Mankind
  • Rôle: code amiga / linux / OpenGL
  • Ville: Toulouse
Re : Upload pixels pour rendu soft
« Réponse #3 le: 07 Octobre 2011 à 11:25:44 »
 en rendu software avec le CPU, et des gros bitmap avec des grosse résolution en RGB, fait surtout gaffe aux caches: dés qu'un bitmap dépasse une taille de cache, les perfos s'effondrent. rendre "tuille par tuile" différentes parties du bitmap (ou barre horizontale par barre horizontale ), une fois pour toute par frame est une bonne idée.
 Faire plusieurs passes de "layer" sur tout le bitmap: pas glop en cpu.
Votez comme ça Mélenchon ... ou Clément Wittman, ... ou Eva ! Oo

Hors ligne romain

    • Pouet.net
    • Voir le profil
    • yanapasdetitre
  • Ancienneté: 2001
  • Groupe: !!M
  • Rôle: code
  • Ville: Paris
Re : Upload pixels pour rendu soft
« Réponse #4 le: 07 Octobre 2011 à 11:41:16 »
Yeep! PixelToaster c'est pas mal, c'est juste un framebuffer comme à l'ancienne :) Et puis c'est multi-plateforme.
Romain

Hors ligne ponce

    • Pouet.net
    • Coup de coeur
    • Voir le profil
    • Games from mars
  • Ancienneté: 2009
  • Groupe: aucun
  • Rôle: code
Re : Upload pixels pour rendu soft
« Réponse #5 le: 08 Octobre 2011 à 19:28:24 »
En fouillant un peu, je vais rester sur SDL 1.2 qui a un rendu DirectDraw et un autre GDI, on peut overrider la sélection avec une variable d'environnement.

@krabob: effectivement je compte essayer quelque chose en une passe, après ça serait des updates de tout le buffer à chaque frame. Celà dit, rendre en tilé devrait aider les caches en effet.

Dans l'idéal j'aimerais générer voire uploader les pixels en espace couleur pas RGB avec chroma subsamplée pour prendre moins de place.
« Modifié: 08 Octobre 2011 à 19:30:25 par ponce »

Hors ligne LittleWhite

Re : Upload pixels pour rendu soft
« Réponse #6 le: 08 Octobre 2011 à 19:30:32 »
On pourra voir le résultat ? Car je suis un peu étonné sur ce que vous voulez faire (et je n'ai pas vraiment compris le pourquoi).

Hors ligne ponce

    • Pouet.net
    • Coup de coeur
    • Voir le profil
    • Games from mars
  • Ancienneté: 2009
  • Groupe: aucun
  • Rôle: code
Re : Upload pixels pour rendu soft
« Réponse #7 le: 08 Octobre 2011 à 21:22:15 »
Quand ça sera fini.
« Modifié: 09 Octobre 2011 à 14:23:44 par ponce »

krnl

  • Invité
Re : Upload pixels pour rendu soft
« Réponse #8 le: 20 Octobre 2011 à 11:03:47 »
- glDrawPixels: A oublier, y'a rien de pire, meme avec une resolution de 320x240 ca rame
- glTexImage2D: Personnellement, j'ai jamais eu de soucis particulier avec, apres j'ai pas tenté de pousser les perfs a l'extreme
- SDL: De meme
- GDI: C'est pas trop mal pour un simple affichage mais c'est tres vite limite, alors en 1920x1080, j'ose meme pas imaginer.
- TinyPTC: J'en avait beaucoup entendu parler a l'epoque, on me l'avait conseillé en tant qu'alternative de GDI mais jamais testé.

Hors ligne ponce

    • Pouet.net
    • Coup de coeur
    • Voir le profil
    • Games from mars
  • Ancienneté: 2009
  • Groupe: aucun
  • Rôle: code
Re : Upload pixels pour rendu soft
« Réponse #9 le: 29 Novembre 2011 à 20:18:50 »
Note pour SDL: placer la variable SDL_VIDEODRIVER à "directx" permet d'avoir un back-end Direct Draw 5 (OOOOLD :) ), de base desactivé, qui donne un avantage marginal mais bon.

En fait j'ai l'impression que SDL accelère en hard que si on crée une surface SDL_HARDWARE, en fullscreen, avec ce driver là.

Ce que j'ai fait pour le moment c'est threader le rendu soft pour faire juste un memcpy dans le buffer de l'écran quand il faut, du coup c'est pas trop le bottleneck. Pas encore testé les overlay YUV hardware avc le driver "directx", en tout cas en soft ça n'avait pas vraiment d'avantage.

Hors ligne LittleWhite

Re : Upload pixels pour rendu soft
« Réponse #10 le: 29 Novembre 2011 à 20:29:59 »
Vous parlez de quelle version de la SDL, la 1.2 ou 1.3 ?

Re : Upload pixels pour rendu soft
« Réponse #11 le: 29 Novembre 2011 à 22:47:24 »
a mon avis la 1.2 car la 1.3 utilise directgraphics non?
« Modifié: 29 Novembre 2011 à 22:56:35 par maracuja »

Hors ligne ponce

    • Pouet.net
    • Coup de coeur
    • Voir le profil
    • Games from mars
  • Ancienneté: 2009
  • Groupe: aucun
  • Rôle: code
Re : Upload pixels pour rendu soft
« Réponse #12 le: 30 Novembre 2011 à 18:21:23 »
Oui 1.2.14.

Hors ligne nystep

    • Pouet.net
    • Voir le profil
    • lostgarden
  • Ancienneté: 1995
  • Rôle: code
  • Ville: Jyväskylä
Re : Upload pixels pour rendu soft
« Réponse #13 le: 02 Décembre 2011 à 13:01:15 »
Je me demandais bêtement si simplement un glTexSubImage2D ça passerai niveau perfs? J'avoue que je ne sais pas trop, je n'ai jamais codé de streaming de texture/video donc...   :-[
"L'être humain met 2 ans a apprendre le langage mais toute une vie pour apprendre à se taire."

Hors ligne ponce

    • Pouet.net
    • Coup de coeur
    • Voir le profil
    • Games from mars
  • Ancienneté: 2009
  • Groupe: aucun
  • Rôle: code
Re : Upload pixels pour rendu soft
« Réponse #14 le: 03 Décembre 2011 à 22:11:43 »
Surement que si, après c'est comme pour les VBO, difficile de savoir quand c'est double-bufferisé.

 

Dans la Réponse Rapide, vous pouvez utiliser du BBCode et des smileys comme sur un message normal, mais à partir d'une interface plus rapide d'accès.

Attention, il n'y a pas eu de réponse à ce sujet depuis au moins 30 jours.
À moins que vous ne soyez sûr de vouloir répondre, pensez éventuellement à créer un nouveau sujet.

Nom: E-mail:
Vérification:
Quel est la couleur du cheval rouge d'Henri IV ?: