2010-03-03 19 views
7

question has already been asked'u bildiğimi ve yanıtladığını biliyorum, ancak bir yıldan fazla bir zaman geçti ve orada yeni alternatifler var gibi görünüyor.Hangi ışık C++ olay/delege (sinyal/yuva) kitaplığı seçmeliyim?

Bu yüzden SFML library (aslında oldukça güzel bulmaya başladım) ile bir oyun kodluyorum ve hafif ve hızlı etkinlik/delege kitaplığı arıyorum. Bazı araştırmalar yaptıktan ve klasik olanları bir kenara bıraktıktan sonra (Boosts.Signals, libsigc++), "cpp-events" 'u buldum. Şu anda çok popüler görünmüyor - çok yeni bir kütüphane olduğu için - test edilmek en kötü görünüyor. Burada birisinin denediğini ve biraz geri bildirim verebileceğini bilmek çok isterim.

Başka benzer (veya daha iyi) seçenekleriniz var mı? Forumlarda cevaplardan çok gerçek projeler (bakılacak olan) görüyorum.

Teşekkür ederiz!

+0

Diğer soru yeni cevaplar ve/veya düzenlemeler ile güncellenebilir. –

cevap

3

Duygularım http://www.codeproject.com/KB/cpp/ImpossiblyFastCppDelegate.aspx'un oyunlar için harika bir uygulama olduğunu düşünüyor. Dinamik bellek ayırma yok, makul performans, hata ayıklaması basit => oyunlar için harika.

Geçmişte benzer delegeleri kullandım, bu uygulama daha verimli görünüyor.

Önerilen tek şey, iş parçacığı güvenliğinden bahseder, ancak iş parçacıkları arasında kullanılan delege tabanlı bir arabirim ile rahat olmam. Bu küçük bir projede işe yarayabilir, ancak bir ekip büyürse, felaket potansiyeli de artar. Böyle bir özelliğin performans sonuçlarını da sorgulayacağım.

3

Ayrıca Boost.Signals'ın iş parçacığı sürümü olan Boost.Signals2'a bakın. Orta ölçekli bir projede iş başında kullanıyorum ve bundan oldukça memnunum.

+0

+1 Ayrıca iş parçacığı emniyetine gerek duyulmasa bile Signals2'yi kullanacağım, çünkü bu yalnızca başlıktır. – Tronic