Boutique Cinema 4D
Affichage des résultats 1 à 3 sur 3

Discussion: Calculs inutiles en rendu animé ?

  1. #1
    Gourou Avatar de César Vonc
    Date d'inscription
    avril 2006
    C4D version
    Autre
    OS
    Windows 10
    Messages
    2 483

    Calculs inutiles en rendu animé ?

    Salut,

    J'ai remarqué un comportement très étrange lors d'un rendu animé avec l'Illumination globale qui fait perdre beaucoup de temps.

    À chaque image, C4D semble calculer toutes les expressions de toutes les images à chaque fois !


    Créez un objet, ajouter un script Python dessus avec, par exemple :

    Code PHP:
    import c4d

    def main 
    :
        print 
    doc.GetTime().GetFrame(30
    Activez l'IG et lancez un rendu animé.

    Avec les paramètres par défaut (90 images), la console affichera les images 1 à 90 à chaque rendu..., soit 90 * 90 = 8100 calculs au lieu de 90... !


    Ça me semble être une perte énorme, j'ai du mal à comprendre la logique, si C4D a vraiment besoin de connaitre autant de paramètres à l'avance pour l'IG, et encore, pourquoi continuer de calculer les images précédentes à l'image en cours...

    Si quelqu'un a une explication, ça m'intéresse vraiment !

  2. #2
    Pilier Avatar de Floc
    Date d'inscription
    novembre 2012
    C4D version
    R15 Studio
    OS
    WindOSX
    Messages
    1 617
    Juste par curiosité j'ai essayé, mais chez moi en version 13 il ne se passe rien de spécial. la console affiche le numéro de frame à chaque frame calculée. A la fin le nombre de ligne correspond bien au nombre de frames calculées. Donc une évaluation par frame .
    L'IG est bien activée et le script est sur un python TAG assigné à un objet (au cas ou j'aurai rien compris).
    J'ai aussi essayé en mode IG animation mais rien de bizarre, si ce n'est que la console affiche 2 fois la série de frames mais ça c'est plutot normal.
    Désolé ça ne fait pas vraiment avancer ton schmilblick, a part de savoir que ce n'est pas sytématique.
    Dernière modification par Floc ; 14/01/2014 à 04h02.

  3. #3
    Gourou Avatar de César Vonc
    Date d'inscription
    avril 2006
    C4D version
    Autre
    OS
    Windows 10
    Messages
    2 483
    Cela semble moins prononcé sur la R13, et encore, je crois que cela dépend du mode de rendu en IG.

    Je crois avoir compris ce qu'il se passe, C4D ne recalcule en réalité pas tout le document à chaque fois dans ces docs récurrents, mais récupère le cache de chaque objet s'il en existe un.
    Or les expressions ne sont pas mises en cache car d'après la doc, elles sont censées agir comme une fonction mathématique :
    http://www.maxonexchange.de/sdk/CINE...hlight=tagdata


    Cependant, en ce qui concerne les objets de type TagData, il est possible de détecter si C4D recherche son cache ou non, via le marqueur de la fonction TagData.Execute(self, tag, doc, op, bt, priority, flags).

    Lors du rendu « réel », j'ai remarqué que ce marqueur prend simultanément les valeurs :
    EXECUTIONFLAGS_ANIMATION
    EXECUTIONFLAGS_EXPRESSION
    EXECUTIONFLAGS_CACHEBUILDING

    EXECUTIONFLAGS_RENDER

    Alors que pour les docs où il cherche juste à récupérer son cache (ici, 90 fois par image), ce marqueur ne prend plus que :
    EXECUTIONFLAGS_ANIMATION
    EXECUTIONFLAGS_EXPRESSION



    J'ai donc ajouté :

    Code PHP:
    if not (flags c4d.EXECUTIONFLAGS_CACHEBUILDING): return c4d.EXECUTIONRESULT_OK 
    En début de ma fonction Execute() pour qu'elle ne se calcule pas avec ces documents là. Et vu que si elle ne calcule pas, dans le cas de mon module Influence Point, ma propriété influence existe toujours mais n'est juste pas mise à jour, c'est bien son cache qui est récupéré et le rendu reste inchangé.

    J'ignore cependant si c'est une bonne méthode pour d'autres genre d'expressions. En tout cas, ça m'économise bien quelques secondes en temps de préparation de rendu !

Discussions similaires

  1. mon sac a babioles inutiles
    Par jules56 dans le forum Nouveaux membres
    Réponses: 11
    Dernier message: 31/12/2011, 18h40
  2. Supprimer des points inutiles de n-gons
    Par PRot158 dans le forum Modélisation
    Réponses: 5
    Dernier message: 17/11/2010, 21h57
  3. rendu dessin animé
    Par bahibak dans le forum Nouveaux membres
    Réponses: 1
    Dernier message: 15/08/2008, 15h21
  4. problème de rendu anime
    Par bob leponge dans le forum Nouveaux membres
    Réponses: 31
    Dernier message: 01/03/2007, 14h05
  5. suprimer des points inutiles !
    Par sweep dans le forum Général Cinema 4D
    Réponses: 24
    Dernier message: 11/10/2005, 15h53

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •  
Mediaworks - Logiciels 3D | Design Internet - Creation site internet