载入中...
搜索中...
未找到
FramePacing.h
浏览该文件的文档.
1#pragma once
2
3#include "common/Result.h"
4
5namespace eve {
6
15public:
16 static constexpr const char* capabilityName = "eve.frame-pacing";
18 virtual ~IFramePacing() = default;
19
21 [[nodiscard]] virtual Result<void> setVerticalSyncCount(int count) = 0;
23 [[nodiscard]] virtual int getVerticalSyncCount() const noexcept = 0;
25 [[nodiscard]] virtual Result<void> setTargetFramesPerSecond(int target) = 0;
27 [[nodiscard]] virtual int getTargetFramesPerSecond() const noexcept = 0;
29 virtual void limitFrame() = 0;
30};
31
32} // namespace eve
LogicalId target
Move-only, checked operation results for the common layer.
std::uint32_t count
Host-loop frame pacing controlled independently of presentation.
Definition FramePacing.h:14
static constexpr const char * capabilityName
Definition FramePacing.h:16
virtual int getVerticalSyncCount() const noexcept=0
Return the current presentation VSync interval.
virtual Result< void > setVerticalSyncCount(int count)=0
Record the presentation VSync interval; zero means unsynchronized.
virtual int getTargetFramesPerSecond() const noexcept=0
Return the requested software frame cap, or -1 when disabled.
virtual ~IFramePacing()=default
Releases IFramePacing resources.
virtual Result< void > setTargetFramesPerSecond(int target)=0
Set the software frame cap; -1 disables it.
virtual void limitFrame()=0
Apply the configured software frame cap after presentation.
Move-only operation result carrying either a value or Status.
Definition Result.h:155
Build metadata (engine git commit, build time, third-party version).
Definition Build.cpp:16