文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
计算 FPS
首先第一步我们需要知道 FPS,这是性能体现的一个重要指标。我们不论在 C#、TypeScript 或 JavaScript 中都可以实现 FPS 的统计。首先我们需要知道两帧之间的执行间隔时间。
我们要进行循环渲染,在 Html5 中使用 requestAnimationFrame,在 XAML 中使用 Composition.Rendering,它们会自动管理循环时间。一般而言,最佳间隔时间在 1000(每秒毫秒数) / 60(显示器最大刷新率) 毫秒内,也就是 ≈ 16.666667 毫秒。
这里有一个 David 和我一起做的 基准测试专题 。
综上所诉,在 C#中,添加一个新的 XAML TextBlock 元素,将其命名为"fps",用于显示当前 FPS 值:
DateTime previousDate;
void CompositionTarget_Rendering(object sender, object e)
{
// Fps
var now = DateTime.Now;
var currentFps = 1000.0 / (now - previousDate).TotalMilliseconds;
previousDate = now;
fps.Text = string.Format("{0:0.00} fps", currentFps);
// Rendering loop
device.Clear(0, 0, 0, 255);
foreach (var mesh in meshes)
{
mesh.Rotation = new Vector3(mesh.Rotation.X, mesh.Rotation.Y + 0.01f, mesh.Rotation.Z);
device.Render(mera, mesh);
}
device.Present();
}
我在我的联想 Carbon X1 Touch(分辨率为 1600x900)电脑上运行前面的 C#版示例,每秒 5 FPS。我的联想电脑 CPU 为 Intel Core I7-3667U(4 个逻辑处理器)以及一个 HD4000 核心显卡。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论