小编JPh*_*JPh的帖子

wix 3.6刻录功能树以选择要安装的MSI

我需要从单个统一UI安装多个MSI.我还需要一个"功能"树让用户选择要安装的产品.

看过类似的问题后,看起来Burn就是最佳选择.

看看这个,似乎我必须编写一个自定义BA并实现我自己的功能树.它是否正确?

看起来我最终会看到一个自定义UI,它看起来不像MSI的标准UI.当恕我直言,关于MSI的伟大之处在于它们总是向用户呈现相同的UI并且多年来一直这样做,这似乎很可惜.

如果这是要走的路,是否有一个简单的例子可以开始?

wix3.6真的不支持功能树吗?...似乎是一个非常基本和有用的功能有恕我直言...

windows-installer wix burn wix3.6

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

Microsoft Media Foundation / UVC ReadSample()回调

我正在编写一个Media Foundation应用程序,以从60Hz的UVC摄像机获取并显示1920x1080 YUV2图像。

我的问题是ReadSample()回调仅以非常低的速率(大约1 FPS)被不稳定地调用,只有几帧的突发。

这发生在两台笔记本电脑上,但是到目前为止我还没有尝试过使用台式机。我正在运行Windows 10,并且我在其上进行测试的所有计算机都是最新的。

但是,我注意到,如果我让CPU忙于我的应用程序,则回调将按预期以60Hz进行调用。

编辑

注意:当CPU由于反病毒启动而繁忙时,回调率也会提高。虽然没有达到完整的60Hz。

因此,如果我将消息循环从以下位置更改:

while (GetMessage(&msg, NULL, 0, 0)) {
    TranslateMessage(&msg);
    DispatchMessage(&msg);
}
Run Code Online (Sandbox Code Playgroud)

至:

   while (PeekMessage(&Msg, NULL, 0, 0, PM_REMOVE)) {
      TranslateMessage(&Msg);
      DispatchMessage(&Msg);
   }
Run Code Online (Sandbox Code Playgroud)

然后FPS回到60Hz;但当然CPU使用率接近100%...

同上,使用第一个消息循环将鼠标移到窗口上方会使FPS增加一点(〜10FPS)。

将摄像机的帧速率降低到30Hz会导致ReadSample()回调以应有的30Hz发生。

我已经从Microsoft提供的示例(“ Windows经典示例”)中复制了MFCaptureD3D示例的相同问题。

注意,我对示例进行了一些修改,以测量ReadSample()回调中的帧速率。

在我的笔记本电脑上,该示例的大小约为25FPS(因此丢掉了很多帧)。这是因为色彩空间转换是基于CPU的并且效率很低(一个内核的75%)。但是,它仍然管理25PFS!

注释掉转换(没有其他代码更改),导致帧速率下降到几乎为零!... CPU使用率为0%。因此,回调不会发生。

在两个应用程序中,COM库都在应用程序的主线程中初始化(运行窗口的消息循环),如下所示:

hr = CoInitializeEx(NULL, COINIT_APARTMENTTHREADED | COINIT_DISABLE_OLE1DDE);
Run Code Online (Sandbox Code Playgroud)

为了方便起见,我从Microsoft的示例复制了ReadSample()回调:

HRESULT CPreview::OnReadSample(HRESULT hrStatus, DWORD /* dwStreamIndex */, DWORD /* dwStreamFlags */, LONGLONG /* llTimestamp */, IMFSample *pSample)
{
HRESULT hr = S_OK;
IMFMediaBuffer *pBuffer = NULL;

EnterCriticalSection(&m_critsec);

if (FAILED(hrStatus))
    hr = hrStatus; …
Run Code Online (Sandbox Code Playgroud)

video video-capture ms-media-foundation uvc windows-10

5
推荐指数
0
解决办法
341
查看次数

带有 SVG 的 QIcon 显示为黑色

我需要使用 Qt 5.9.1 应用程序支持高 DPI 显示,并且我正在寻找一种解决方案来缩放应用程序使用的 QIcon。

我目前只针对 Windows 7 和 10。

到目前为止,对于非高 DPI 显示器(Windows 7),我使用 .ico 文件来显示以不同分辨率显示的图标。

当它们仅在单一分辨率下使用时,我也有一些图标作为 .png 文件。

对于高 DPI 显示器,在 Windows 10 下,当用户应用缩放应用程序的缩放因子时,图标最终会缩放但模糊。

我已经测试过添加以“@2x”后缀命名的高分辨率 png 文件,但缩放会使图标模糊。

看到这一点,我想我会尝试使用 .svg 文件代替那些应该缩放的文件,但是当与 QIcons 一起使用时它们显示为黑色。这篇文章暗示 QIcons 不支持“填充”颜色:Qt support for coloring SVG in a QIcon

有没有人设法让 .svg 文件与 QIcons 一起使用?我是否在使用 .svg 支持高 DPI 显示并仍然获得清晰图标的正确轨道上?如果没有,那里的人们采取什么方法?

qt svg highdpi qicon

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