First,
- frame interval = 1/(frame rate)
In NTSC countries, movies are usually 23.976 fps, so
- frame interval = 1/23.976fps = 41.708 ms
Videos are 59.94 fps, so
- frame interval = 1/59.94fps = 16.683 ms
Ā
| Ā |
origin |
format |
what video renderer receives |
frame interval |
| SD film |
film-based |
480i60 |
480p24 |
41.708 ms |
| SD video |
video-based |
480i60 |
480p60 |
16.683 ms |
| HD film |
film-based |
1080p24/1080i60(broadcast) |
1080p24 |
41.708 ms |
| HD interalced video |
video-based |
1080i60 |
1080p60 |
16.683 ms |
| HD progressive video |
video-based |
1080p60 |
1080p60 |
16.683 ms |
Sample clips:
- SD film: Ratatouille (2007) (480i60, MPEG-2, AC3)
- SD video: Die Zauberflote (2003) (480i60, MPEG-2, AC3)
- HD film: Iron Man (2008) (1080p24, AVC, TrueHD/AC3)
- HD i video: La Traviata (2010) (1080i60, AVC, DTS-HD MA)
- HD p video: La Traviata (2010), created from the above by deinterlacing with yadif (1080p60, AVC, DTS-HD MA)

(Average) rendering time is the (average) time for madVR/GPU to process a video frame. To play without dropped frames,
- (average) rendering time must be < frame interval
obviously (otherwise madVR/GPU can't render video frames fast enough without dropped frames). Playing back a film is a lot easier than a video in terms of rendering.
On the other hand
- vsync interval = 1/(desktop refresh rate)
If vsync interval differs from frame interval, there is a periodic frame repeat or drop. VSYNC (vertical synchronization) is the most important notion for smooth video playback. Technically it is a signal or an impulsion that occurs within the vertical blanking interval and marks the start of a new frame on a TV, monitor, or projector. References: VERTICAL SYNC, a blog on this subject; How VSync works, and why people loathe it in gaming context; "Using the VSYNC tools" in ReClock readme.
Queues are buffers (video frames in memory) to be processed.
- decoder queue: in decoding
- upload queue: in uploading buffers from system memory to video memory
- deinterlace queue: in deinterlacing
- render queue: in madVR rendering (= chroma/luma scaling)
- backbuffer queue: in displaying
All of them should be near full, otherwise dropped frames could occur. For example, low decoder queue means that there is a problem in video decoder. Low render queue means that your GPU (stream processors + video memory) is too weak to perform madVR's rendering algorithm.
Edited by renethx - 2/11/13 at 10:26am