Je suis intéressé à me lancer dans le petit moteur sur lequel je travaille pendant mon temps libre, mais je suis curieux de savoir quelle est la meilleure approche. Je suis curieux de connaître la façon recommandée de synchroniser le fil de la physique avec le reste du moteur, similaire à ThisGuy. Je travaille avec le SDK Bullet Physics, qui utilise déjà la méthode de copie de données qu'il décrivait, mais je me demandais, une fois que la balle passe par une simulation, puis synchronise les données avec les autres threads, cela ne donnera-t-il pas quelque chose synchronisation verticale, où le fil de rendu, à mi-chemin à travers les données de traitement commence soudainement à utiliser un ensemble d'informations plus récentes et différentes?Modèle de filetage pour un moteur de jeu
Est-ce quelque chose que le spectateur sera capable de remarquer? Que se passe-t-il si une explosion quelconque apparaît avec l'objet destiné à être détruit?
Si c'est un problème, quelle est alors la meilleure façon de le résoudre?
Verrouillez le thread physique afin qu'il ne puisse rien faire jusqu'à ce que le thread de rendu (Et fondamentalement tous les autres thread) a traversé son cadre? Cela semble perdre du temps CPU. Ou est la méthode préférable pour tripler le tampon, copier les données de physique à un deuxième emplacement, continuer la simulation physique puis copier ces données dans le thread de rendu une fois prêt?
Quelles approches recommandez-vous les gars?