Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

Can Everyplay render out 60 fps

Discussion in 'Unity Everyplay' started by User340, Jun 30, 2016.

  1. User340

    User340

    Joined:
    Feb 28, 2007
    Posts:
    3,001
    I need Everyplay to record at exactly the frame rate that my app is running at. I'm exporting a movie from my app, and having Everyplay record it. Usually my app exports the movie in slow-motion (~15 fps) because it's a really complex scene, but I'd like playback to be at full 60 FPS. Is this possible with Everyplay? Does SetTargetFPS() do this (if not what is it for)?
     
  2. User340

    User340

    Joined:
    Feb 28, 2007
    Posts:
    3,001
    Also, can someone explain Everyplay.SnapshotRenderbuffer()? Can this be used in such a way so that I can control when Everyplay appends images to the movie?
     
  3. ullatussimo

    ullatussimo

    Unity Technologies

    Joined:
    Jun 16, 2015
    Posts:
    108
    Hello @_Daniel_

    Thanks for reaching out!

    As for your first question: Yep, Everyplay.SetTargetFPS(60); will force the capture to happen at the maximum framerate the device is outputting (as the screen refresh rate is effectively capped to 60 FPS). This of course comes at the cost of increased video file size. Also, if the game is very CPU/GPU intensive, recorded frames may get skipped and the final video may not actually be the full 60 FPS.

    As for your second question: Everyplay HUD camera effectively wraps the Everyplay.SnapshotRenderBuffer. When the function is called, we store the stuff currently in the render buffer for the video. All rendering done after calling this function will not stick into the video.

    Hope this answers your questions.

    Cheers,
    Simo
     
  4. User340

    User340

    Joined:
    Feb 28, 2007
    Posts:
    3,001
    Hi, thanks for the clarification. Can I call Everyplay.SnapshotRenderBuffer() manually when I want to append frames to the video? And essentially have Everyplay wait until SnapshotRenderBuffer() is called until it appends a new frame. This would ensure that the final video be 60 FPS. You see, my app involves exporting a very complex scene usually at a low frame rate, and would be nice if Everyplay can play it back at full 60 FPS.

    Thanks,
    Daniel