Pregunta

QTimer parece crear en realidad un "temporizador" que consume tics de la CPU y publica eventos, etc.¿Es lo mismo cierto para QElapsedTimer?

¿O es algo así como Win32? GetTickCount ¿Dónde cuando llamas a un método? QElapsedTimer ¿Toma el recuento de ticks actual y lo resta del recuento donde se inició?

Quiero saber si es una buena idea tener estas cosas por ahí, o consumirán batería como QTimer?

¿Fue útil?

Solución

QTimer "consumirá" la batería sólo en algunos casos.En concreto, si se trata de un Qt::PreciseTimer en Windows 7 y versiones anteriores, en esos sistemas, aumentará la frecuencia de tics a 1000 Hz.Temporizadores muy cortos forzarán el mismo comportamiento.Dado que esos sistemas son no Sin tictac, la presencia de un temporizador aproximado activo no influye en el consumo de energía, ya que el sistema funciona a un ritmo fijo, sea necesario o no.

En un sistema operativo sin ticks, QTimer no tiene tales efectos nocivos.Esto incluye OS X/xnu, Windows 8 o Linux sin ticks.

QElapsedTimer no es un QObject y no proporciona ningún evento asincrónico.Simplemente proporciona una interfaz para las API de tiempo de la plataforma (no API de temporizador).

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