This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Variable latency of frame projection in video mode

Hey Sanjeev,

I am using the projector in the video mode where I am triggering one frame of a 24-bit image every 1s. My frames are a sequence of  black and white images. I am measuring the output of the projector using a photodiode.

From the signal I obtained, I observed a latency in the range of 70-90ms between my trigger and image displayed over the lens of the projector.

Regarding this, I have few questions, 1) Why is this latency variable, what do you think is causing the variability? 2) Is there a way to reduce this latency by using 1-bit image instead of 24-bit for example or is there any other way?  

For my application I need fast image projection with minimum possible latency.

Looking forward to your reply.

Thanks,
Aamir

  • Aamir,

    How are you sending 1 frame of 24-bit image every 1s? Note the PC or any other device always render the video in typical video frame rate, in this case it is 60Hz, basically it will sending 24-bit 60 images per second. 

    The Photodiode capture must be checked against another hardware signal, VSYNC in this case, only then you will find data for interpretation, 

    To your questions

    (1) I doubt how you are interpreting the data, it should be maximum 1 frame time or VSYNC period, in this case it is just 16.67ms not 70-90ms.

    (2) Whenever you are selecting the source as external video input then it will be always VSYNC period, the controller can run maximum at 120Hz, so you will have least possible of 8.33ms latency.

    Regards,
    Sanjeev

  • Hey Sanjeev,

    Thanks for your reply. I am triggering the images on the projector using an external device which sends the trigger to the computer over USB and then the computer displays the image over the projector lens. The trigger is coming every 1s and it's very stable, I have checked that. So the latency I am measuring is the difference between the start of the trigger and the display of the image over the projector lens. I know there is a latency of around 5ms between the trigger released from the external device and being read by the computer. Still it leaves us to this huge latency of around 70ms between the computer and the projector.

    The documentation says that the images goes through the buffer from the controller before it is projector onto the DMDs. And images in the buffer can take upto 200ms as per the documentation. Don't you think that this could be causing this 70ms latency? Or you are saying that in Video mode the images doesn't goes through these buffers? If that's the case then there is a mistake in the schematic of system architecture shown in the manual.


    Kindly help me in getting a clear picture.

    Best,

    Aamir

  • Hi Aamir,

    I am confused with your description;

    In the beginning you mentioned the pattern source input is via Video Port and then in the latest post above you mentioned "I am triggering the images on the projector using an external device which sends the trigger to the computer over USB and then the computer displays the image over the projector lens. The trigger is coming every 1s and it's very stable, I have checked that."

    I want to clarify that if you are using Video Port for sending pattern data, the trigger input is going to be VSYNC signal it  self, there is no option to to send trigger signal via USB, you can only do the pattern Start/Stop.

    Regards,
    Sanjeev

  • Hi Sanjeev,

    Sorry for the confusion maybe I didn't explained well. First of all I am not using my projector as a pattern mode, I am just using it as a second screen in duplicate mode, so whatever there is on my main screen is displayed over the projector. I am an OpenCV application which displays images over my main screen whenever it received a trigger from another device connected to the computer. And what ever is displayed on my main screen is displayed over the projector. I hope this is clear.

    Now I know there is some latency caused by CPU-GPU interaction and I am optimizing that, but at the same time I wanted to have a good idea about what is going on inside the projector. Based on what you have told me in this post and my other post, the latency should be around 8ms at 120Hz. Can you tell me how stable this is? How precise is the hardware inside the projector in terms of timing, for example buffer rotate time?

    I want to achieve precise temporal precision for my project.

    Thanks,
    Aamir
  • In the pattern mode, we are displaying 8-bits from incoming 24-bits on the video port @ 120Hz frame rate. Note in the Video Mode your 24-bit are manipulated i.e., it is not true 1:1 mapped in the Video Mode, also the amount of time each 8-bit data from the R, G, B channels is displayed for different amount of time.
    As far as displaying it is strictly following the VSYNC signals so it is precise; now for 1:1 output use Pattern Mode.
    Regards,
    Sanjeev