"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?
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!)
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.
"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".
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!)
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.
"kmayur" wrote:
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. 🙂
"EnTerr" wrote:
Can you take/show picture or video of it happening?
(picture is worth a thousand words, they say)
"RokuMarkn" wrote:
What do you have selected under Settings > Display Type?
--Mark
"EnTerr" wrote:
Apparently VSYNC issue. And shot in the dark - i suspect due to adaptive V-sync
(e.g. Roku4 decoded frame rate drops below sync rate), see viewtopic.php?f=34&t=54513#p490795
"EnTerr" wrote:
Can you provide the Co a URL to a sample video that causes the effect?