jjzjj

windows - 硬件 H264 编码 ID3D11Texture2D with Media Foundation

我正在从事一个捕获屏幕并对其进行编码的项目。我已经可以使用桌面复制API(Win8+)捕获屏幕。使用API,我可以获得ID3D11Texture2D纹理并将它们从GPU传输到CPU,然后使用libx264对其进行编码。但是,将纹理从GPU拉到CPU可能是一个瓶颈,可能会降低fps。libx264也占用CPU周期(取决于质量)来编码帧。我正在寻找在GPU本身中编码ID3D11Texture2D纹理,而不是使用CPU进行编码作为优化。我已经检查了文档和一些示例代码,但没有成功。如果有人可以向我指出一些可靠地完成我想要的事情的资源,我将不胜感激。 最佳答案

c++ - 未聚焦时 Direct2D 窗口变黑

我有一个Direct2D窗口,它在聚焦时画得很好;然而,当焦点移动到另一个窗口(同一个应用程序或另一个)时,整个窗口变黑。我将问题归结为ID2D1HwndRenderTarget::Clear的使用。此功能对我的应用程序至关重要,因为没有它,绘画会变得相当……奇怪。有没有一种方法可以让未聚焦的Direct2D窗口正常绘制(注意:WM_PAINT会像往常一样被调用,Clear也是如此,BeginPaint等都没有错误)提前致谢。 最佳答案 来自MSDN,HandlingDeviceLossWhileyourprogramisrunni

c++ - 使用 Windows API 和 C++ 进行 2D(或 3D)图形编程?

我即将开始我的大学类(class)单元项目。我希望用C++制作有点像小行星的复古2D游戏。我可以使用SFML之类的东西来做到这一点,这看起来肯定是合乎逻辑的事情。但是我不能使用SFML,因为这些库在Windows上默认不可用。要求是我的C++代码必须复制并粘贴到任何WindowsPC(已安装VisualStudio),然后从VisualStudio编译/运行。我以前从未使用过WindowsAPI,但我觉得我可以使用它打开一个窗口并在窗口中绘制一些二维图形。我对么?基本上这就是我需要做的所有事情:打开一个窗口,然后在上面画一些线。这不是“你能帮我做作业吗”类型的问题。如果这是我需要的工具

windows - Cocos2d-x键盘实现

我正在使用cocos2d-x为windows、mac和linux制作游戏我想在我的游戏中使用键盘,但没有官方的键盘实现cocos2d-x3.0alpha。我阅读了很多关于键盘实现的论坛帖子,并且看到了一些自定义的cocos2d-x分支,但我已经修改了我的cocos2d-x,所以我需要将代码放在CCDirector或其他类中。有人可以给我关于如何让它工作的代码吗?(不是我想要的代码可以在上述所有平台上运行的项目)谢谢! 最佳答案 所以我让它工作了我还制作了一个教程,您可以在这里查看:http://www.cocos2d-x.org/f

c++ - 在 Direct2D 中绘制部分图像

由于GDI+相当(可笑)慢,我决定迁移到Direct2D。我在许多论坛上查找了很多主题(包括thisone),但没有成功(这也可能是由于已经很晚的事实造成的)并且Direct2D文档仍然非常薄(并且令人困惑,至少对我而言).无论如何,我有一个在Direct2D中打开的.PNG并且只想每20毫秒绘制一次它的一部分。初始化D2D内容ID2D1Factory*d2dFactory=NULL;IWICImagingFactory*d2dWICFactory=NULL;IWICBitmapDecoder*d2dDecoder=NULL;IWICFormatConverter*d2dConvert

windows - 是否有任何性能测试可用于 Direct2D?

我对图元性能(CAD、GIS等)特别感兴趣,但与GDI/GDI+的任何速度比较都会非常有趣。 最佳答案 为什么不直接输入一些代码来输出测试运行的时间,然后你就可以比较各种方法的性能。 关于windows-是否有任何性能测试可用于Direct2D?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/827298/

windows - 从哪里开始使用 Direct2d?

有兴趣学习Direct2d来创建Windows8应用程序,但经过2小时的研究后,我完全感到困惑。像这样的示例(CreatingaSimpleDirect2DApplication)似乎假设您知道什么是HWND和HRESULT,以及WindowsAPI的一般工作方式。我的问题是:您是否需要了解WinAPI、COM、OLE和所有其他Windows内容才能很好地掌握Direct2d/3d?所有其他准系统教程都假设您了解所有这些东西,而我真的不知道从哪里开始。VS2012中的启动D2D项目为您提供了一堆文件,但没有main或WinMain...这个程序是如何启动的?

c++ - 检索要通过网络发送的 ID3D11Texture2D 数据

我正在修改桌面复制api示例kindlyprovidedbyMicrosoft捕获屏幕并通过网络将更新发送到我的应用程序。我知道如何实际发送数据;我的问题是从ID3D11Texture2D对象获取数据。ID3D11Texture2D*m_AcquiredDesktopImage;IDXGIResource*desktopResource=nullptr;DXGI_OUTDUPL_FRAME_INFOFrameInfo;//GetnewframeHRESULThr=m_DeskDupl->AcquireNextFrame(500,&FrameInfo,&desktopResource);

Cartographer算法2D激光雷达与IMU融合建图

 上一篇文章讲了cartographer算法手持雷达建图的参数调试,这篇进一步讲如何融合2D雷达与IMU采用cartographer算法进行slam建图。cartographer算法手持二维激光雷达建图(不使用里程计及IMU)https://blog.csdn.net/wangchuchua/article/details/127268037?spm=1001.2014.3001.5502首先先说一下我的硬件设备:思岚s1激光雷达、ToboticsROSIMUHFI-A9。  和上一篇讲的一样在进行文件修改之前一定一定要先弄明白自己的雷达和IMU的话题名称topic_id以及frame_id,

c# - OnCollisionEnter 不与 2D 碰撞器统一调用

我检查了几乎所有的答案,但这些大多是简单的错误和失误。我的问题是即使与其他刚体发生碰撞也不会调用OnCollisionEnter。这里是没有被调用的部分:voidOnCollisionEnter(UnityEngine.Collisioncol){Debug.Log("collision!!!");foreach(ContactPointcontactincol.contacts){//checkingtheindividualcollisionsif(contact.Equals(this.target)){if(!attacking){Debug.Log("hittingtarge