2010-03-03 10 views
7

Sé que el question has already been asked y respondió, pero fue hace más de un año y parece que hay nuevas alternativas.¿Qué biblioteca de eventos/delegados C++ (señal/ranura) ligera debo elegir?

Así que estoy codificando un juego con el SFML library (que estoy comenzando a encontrar realmente genial en realidad) y estoy buscando una biblioteca de eventos/delegados ligera y rápida.

Después de investigar y dejar de lado los clásicos (Boosts.Signals, libsigc++), encontré "cpp-events". No parece muy popular en este momento, ya que es una biblioteca muy reciente, pero parece peor para ser probado. Me interesaría saber si alguien aquí lo probó y puede darnos un pequeño comentario.

¿Tiene otras opciones similares (o mejores) que sugerir? Me veo proyectos bastante reales (que se mantendrán) que las respuestas en los foros.

¡Gracias!

+0

La otra pregunta se puede actualizar con nuevas respuestas y/o ediciones. –

Respuesta

3

Mi sensación es que http://www.codeproject.com/KB/cpp/ImpossiblyFastCppDelegate.aspx es una gran aplicación para juegos. Sin asignación de memoria dinámica, rendimiento razonable, fácil de depurar => ideal para juegos.

He utilizado delegados similares en el pasado, esta implementación parece más eficiente.

El que sugirió menciona la seguridad del subproceso, pero no me sentiría cómodo con una interfaz basada en delegado que se utiliza entre subprocesos. Eso puede funcionar bien en un proyecto pequeño, pero si un equipo crece, también lo hará el potencial para un desastre. También cuestionaría las implicaciones de rendimiento de tal característica.

3

También eche un vistazo a Boost.Signals2 que es la versión de Boost.Signals segura para subprocesos. Lo estoy usando en el trabajo en un proyecto de tamaño mediano y estoy bastante contento con él.

+0

+1 Usaría Signals2 incluso cuando no se necesita seguridad de hilo porque también es solo de encabezado. – Tronic

Cuestiones relacionadas