Forum Discussion
kmayur
10 years agoVisitor
Thank you EnTerr for answering!
I know that the app developer has no control over rendering buffers. I asked this question because I am observing tearing issue with 4K @ 60fps stream. I thought decoder might be writing to a buffer which is in rendering process. I wanted to know if that is the cause for tearing artifacts. 🙂
As I mentioned I am using "customvideoplayer" sample application which is almost 3 years old. I came to know that Roku is not updating it. So wanted to know if any extra configuration parameters to be given for 4K. I did not find any parameters specifically for 4K in SDK documents.
"EnTerr" wrote:"kmayur" wrote:if somebody from Roku replied, i think fair answer would be "nunya business" 🙂
1) How does video rendering happens in Roku? Does it use double buffering logic? Is there any difference in rendering logic for 4K OR 60fps compare to other resolutions/fps?
Video player keeps multiple decoded frames at a time but that's not related to "double buffering logic".
I know that the app developer has no control over rendering buffers. I asked this question because I am observing tearing issue with 4K @ 60fps stream. I thought decoder might be writing to a buffer which is in rendering process. I wanted to know if that is the cause for tearing artifacts. 🙂
2) Do I need to provide any extra parameters/flags to player if the stream is 4K OR 60fps?Try first - ask if it doesn't work. (Welcome to Roku world!)
As I mentioned I am using "customvideoplayer" sample application which is almost 3 years old. I came to know that Roku is not updating it. So wanted to know if any extra configuration parameters to be given for 4K. I did not find any parameters specifically for 4K in SDK documents.
Yeah. Even I thought so. But I was not sure about it. Thank you 🙂3) As I mentioned, the sample application uses "roImageCanvas" for user interface. I am not sure whether the player also uses it internally for rendering. In SDK documents, I found "roScreen" component which is used in gaming application and there is an optional flag to enable double buffering. Can I use "roScreen" with player? Will replacing "roImageCanvas" with "roScreen" help to render @ 60fps?No, roScreen will not change your streaming vs roImageCanvas. Video rendering is done on a different plane, which is underneath (z-order) these two.