Pregunta

Hola chicos, y gracias por mirar. He construido la aplicación D2D simple a partir de MSDN, disponible aquí . Ahora, quiero sacar algunas primitivas y añadir un contador de fps.

Tengo un evento OnRender (), donde dibujar los rectángulos y así sucesivamente. También tengo una llamada a RenderTextInfo (), donde llamo RenderTarget-> DrawText. ¿Dónde puedo añadir la lógica para contar el número de fotogramas por segundo?

Gracias mucho.

¿Fue útil?

Solución

No sé las cosas exacta Direct2D, pero esto podría ayudar.

Básicamente, usted tiene dos opciones. O bien actualizar la tasa de fotogramas cuando se dibuja un marco, o cada segundo (o cualquier otro intervalo de tiempo).

Si se cuenta que cuando se dibuja un marco, puede simplemente obtener la hora actual cuando se dibuja un marco, y restar de ella el tiempo que ha dibujado el último fotograma. Que se obtiene el tiempo de dibujo de este marco. El recíproco de que (es decir, 1 / x) es la tasa de fotogramas.

Si se cuenta que en un intervalo de tiempo regular, es necesario tener algunos disparos evento en cada intervalo que los cheques cuántos cuadros fueron dibujados desde la última vez que el evento disparado. División que por su intervalo (si se trata de un segundo, que no es necesario dividir, por supuesto) y que es el recuento de fps. No se olvide de incrementar algunos contador cada vez que se dibuja un marco.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top