gpt4 book ai didi

c++ - 复制托管 Silverlight 控件的内容

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:46:53 24 4
gpt4 key购买 nike

编辑:由于我原来的问题是由于我的错误造成的,我将重新表述这个问题。

我根据找到的代码在我的 C++ 应用程序中的一个窗口中托管 Silverlight here .

现在我想将控件的内容复制到内存中,以便在我自己的渲染器中使用内容。我遇到的问题是,当我将“EnableGPUAcceleration”设置为 true 时,BitBlt 停止工作,我得到的只是黑色。

我觉得理论上应该有一种方法可以复制 GPU 加速的 Silverlight 控件的内容及其 alpha,例如使用类似 glReadPixels 的东西。

有人知道如何使用非无窗口 gpu 加速的 Silverlight 控件的 alpha 复制内容吗?

另一个问题是窗口必须是可见的并且没有其他窗口可以覆盖它,否则我得不到正确的内容。我希望托管窗口不可见。

可以找到工作示例代码 here (尽管没有我试图开始工作的实际 BitBlt“ting”)。

最佳答案

我将开始对此进行研究,我有一个想法,即 OpenCL 或者也许因为您使用的是 Silverlight,DirectCompute 可能能够设置一个上下文,您可以在其中获得更大的灵 active 。

一种方法是使用其中一种语言简单地进行所有 GPU 加速。同时,我会尝试找出您是否可以使用其中之一来获取您需要的信息或其他一些技术。

This link似乎可以验证您是否需要在所有交互式成员中启用 GPU 加速。

编辑:

I think that article may provide some other help to your issue. Essentially it is going to be about accessing the cache and ensuring that you are using the cache. Anything set to be in cache mode will be stored on the graphics card temporarily.

This article also sheds some light on the issues. Where it speaks on hardware rendering, it is important to note which operations would cause issues with the cache.

我必须承认我对 Silverlight 一点也不流利,但这些类型的问题很熟悉。尽我所能了解您的代码情况。

关于c++ - 复制托管 Silverlight 控件的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4779915/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com