Çalıştığım ancak ışıklandırmayan bir ışın izleyici yapıyorum (henüz). Bilmeyenler için, ışın izleyicileri, ekranın her bir pikselinden kameradan (görüntüleyici) gelen ışınları göndererek, 3B alanda nesnelerin çarpışmalarını test ederek ve ışın bir nesneyi vuruyorsa pikseli boyayarak çalışır.Java: Çok iş parçacıklı ve 2 boyutlu iş parçacıkları
Her bir piksel için hesaplamaları çalıştırmalısınız, bu da birçok hesaplamadır. Bu yüzden her bir piksel sütunu için bir iş parçacığım var. Şu anda Runnable'ı uyguluyorum. Bu, programın hızını artırır ve harici işlemlerde (ki bu iyidir) genel işlem hızı üzerinde dikkate değer bir etkiye sahip değildir.
Aydınlatma için, fotoğraf makinesinin ışınının nesneyi kesiştiği ve bu noktanın yakılması gerektiğinden emin olun (buradaki tüm ışık kaynaklarının hesaba katılması yeterli olacaktır).) çoklu iş parçacığı.
Konuların daha fazla iş parçacığı (2D iş parçacığı) oluşturmasının kötü bir uygulama olduğunu düşünürüm, ancak bunu gerçekleştiren bazı kitaplık veya uygulama yöntemi var mıdır? Bunun sonsuz bir tekrarlamaya yol açmayacağını biliyorum, fakat ayrıca CPU'yu aşırı yüklemek istemiyorum. Esasen "2D diş çekme" gerektiren bir işlemi nasıl güvenli bir şekilde halledebilirim?
Bir ['RecursiveAction'] kullanabilirsiniz (https://docs.oracle.com/javase/8/docs/api/java /util/concurrent/RecursiveAction.html). "ForkJoinPool ışın izleme" için googling deneyin. –