【发布时间】:2018-07-05 01:09:37
【问题描述】:
我希望为应用程序窗口创建一个自定义圆角框架(边框半径和阴影) 从性能的角度来看,最好的技术是什么?
一个。为圆形应用程序窗口使用区域 (SetWindowRgn),为阴影使用分层窗口 (UpdateLayeredWindow)。
b.对圆形应用程序窗口和阴影使用分层窗口。
UpdateLayeredWindow 的docs 指定:
为了通过分层窗口和任何底层实现最佳绘图性能 窗口,分层窗口应尽可能小。
我是专门针对应用程序主窗口提出这个问题的,所以一个大窗口可能具有很高的复杂性并且大部分时间都在屏幕上可见。
我应该为应用程序窗口选择区域还是分层窗口?哪一个在 CPU/内存上会更轻?
【问题讨论】:
-
我投票结束这个“主要基于意见”。如果您想知道哪一种更有效,请自行测试,看看哪一种更适合您的需求。
-
唯一的办法就是测试。但是,我希望分层窗口更有效,因为窗口实际使用它们。窗口区域是在 windows 95 中引入的 - 总是有点新奇,并且不要像分层窗口那样抗锯齿。
-
从性能的角度来看,最好保留默认窗口框架。我敢打赌,在您的应用程序中,有很多重要的事情需要改进,而不是圆形框架。
-
@RemyLebeau 我相信与两者合作过的人可能会从他们的经验中获得一些见解。结束问题不会让人们知道这些见解。
标签: windows winapi layered-windows