Bir oyun mantığı ve renderleme nasıl ayrılır? Burada tam olarak bunu soran sorular var gibi görünüyor ama cevaplar benim için tatmin edici değil.
Şimdiye kadar anladığım kadarıyla, onları farklı iş parçacıklarına ayırmanın amacı, oyun mantığının, son olarak swapbuffer çağrısının engelleme çağrısından döndüğü bir sonraki vsync'i beklemek yerine hemen bir sonraki kene için çalışmaya başlamasıdır.
Ancak özellikle oyun mantığı iş parçacığı ve oluşturma iş parçacığı arasındaki yarış koşullarını önlemek için hangi veri yapılarının kullanıldığı. Muhtemelen oluşturma iş parçacığının ne çizileceğini anlamak için çeşitli değişkenlere erişmesi gerekiyor, ancak oyun mantığı aynı değişkenleri güncelliyor olabilir.
Bu sorunu çözmek için fiili bir standart teknik var mı? Belki de oyun mantığının her yürütülmesinden sonra görüntü oluşturma iş parçacığının ihtiyaç duyduğu verileri kopyalamak gibi. Çözüm ne olursa olsun, senkronizasyon yükü veya her şeyi tek iş parçacıklı çalıştırmaktan daha az ne olacak?