小编dav*_*ons的帖子

在 WPF .Net 中测量 UI 性能的正确方法

我有一种在 WPF 中测量 FPS 的方法(我真的不知道这是否是正确的测量方法)。

CompositionTarget.Rendering += CompositionTarger_Rendering;

void CompositionTarget_Rendering(object sender, EventArgs e)
{
    var args = (RenderingEventArgs)e;
    if(args.RenderingTime == m_Last)
    {
        return;
    }
    m_Last = args.RenderingTime;

    DoingFpsCalculations(); // This method adds to a counter and reports each elapsed second what the counter is => FPS
}
Run Code Online (Sandbox Code Playgroud)

这些计算显示我的帧速率约为 40-60 FPS

然而,有时我可以直观地看到事实并非如此。FPS 计数器报告称 50FPS,但 UI 绝对会在较低的 FPS 下更新。

例如,我有一个以 15Hz 运行的 DispatcherTimer,计时器调用渲染方法并更新绑定到其 RenderTransform 的 ui 元素的转换。定时器以 15Hz 的频率被调用并及时完成其计算。FPS 显示为 40-60 fps,但 UI 元素绝对仅在 4-6 FPS 内更新。

我可以依靠什么?

我知道 UI 线程和渲染线程之间存在差异,因此真正的 FPS …

.net wpf performance frame-rate render

5
推荐指数
1
解决办法
340
查看次数

AWS Lambda 公有子网 EIP 以提供互联网访问权限

在抱怨允许附加到 VPC 的 lambda 函数访问互联网的 NAT 网关成本时,我发现了一些关于在公共子网而不是私有子网中部署 lambda 并将 EIP 附加到由 Lambda 创建的 ENI 的建议。(我也有一个连接到 VPC 的 IGW)。

我关注了这篇文章:/sf/answers/5227829771/

这有效!我在公共子网中运行的 lambda 可以访问互联网。

然而,我在很多地方读到“这不应该是可能的”,或者“为 lambda 提供互联网访问的唯一方法是通过 NAT 网关/实例。” 或“如果你这样做,它就无法正确扩展”。

这只是一个坏主意吗?我的 lambda 需要访问互联网和 VPC 中的资源(例如私有子网中的 rds)

networking amazon-web-services amazon-vpc aws-lambda

5
推荐指数
1
解决办法
1141
查看次数