jjzjj

windows - 应用全屏时的预期 DWM 行为

Q1:DWM在多显示器设置(扩展)中的预期行为是什么?的监视器被全屏(D3D11)应用程序覆盖(不是最大化的无边框窗口)?1.所有剩余的屏幕应该是空白的2.应主动刷新所有剩余屏幕3.?Q2:应用程序在全屏时是否应该/可以设置DWM的行为(我的意思是:强制它执行1/2/3)?我读过DXGI:BestPractices但它并没有真正考虑DWM在多显示器设置中与全屏应用共存。附加信息:我可以看到DWM在这种情况下表现不同,具体取决于特定的应用程序(我的或第3方),机器应用程序运行在同一台机器上,甚至同一应用程序的特定运行。谷歌搜索显示我不是唯一遇到这些不一致的人,例如:一)gaming.st

windows - 不能在 VS2015 中包含 DirectX header

我正在尝试在VisualStudio2015的C++项目中设置DirectX。我在D:\ProgramFiles(x86)\DirectXSDK中安装了DirectXSDK,我的环境变量名为DXSDK_DIR。在VisualStudio中,我尝试通过以下所有方式将其添加到C/C++-->General-->AdditionalIncludeDirectories:$(DXSDK_DIR)\Include%(DXSDK_DIR)\Include%%"(DXSDK_DIR)\Include"%%(DXSDK_DIR)%\Include但它们似乎都不起作用。 最佳

c++ - 在 DirectX 中跨线程传递纹理的数据竞争

我在具有两个线程的DirectX应用程序中遇到数据竞争:一个消费者和一个生产者。第一个线程(producer)是一个屏幕抓取器,它使用desktopduplication获取纹理中的桌面图像。它在适配器X上创建ID3D11Device和ID3D11DeviceContext。dxgi_dd->AcquireNextFrame(INFINITE,&frame_info,&desktop_resource);ID3D11Texture2D*desktop_texture;desktop_resource->QueryInterface(__uuidof(ID3D11Texture2D),(

c++ - DirectX OMSetRenderTargets 中的访问冲突

在D3D_FEATURE_LEVEL_9_1中运行DirectX11的Triangle示例应用程序时,我收到以下错误(Lesson2.Triangles.exe中0x527DAE81(d3d11_1sdklayers.dll)处的未处理异常:0xC0000005:访问冲突读取位置0x00000000)>。这个错误发生在OMSetRenderTargets函数中,如下所示,如果我从程序中删除该函数就不会发生(但是,屏幕是蓝色的,并且不渲染三角形)////THISCODEANDINFORMATIONISPROVIDED"ASIS"WITHOUTWARRANTYOF////ANYKIND,E

windows - Windows 服务的 DirectX 访问

DirectXAPI可以在session0上运行的Windows服务中使用吗?我知道服务无法显示GUI。我想调用不涉及GUI显示的API。API调用会失败吗?Windows8及更高版本值得关注。 最佳答案 我不太确定您想使用什么,但可以在Windows服务中使用DirectX数据类型。您所说的GUI调用将不会显示。取决于您调用的电话(示例):绘制到屏幕会失败保存DirectX数据类型的对象/在您的服务中使用DirectX数据类型与您可能会使用的其他变量进行交互。 关于windows-Wi

windows - DIDEVICEINSTANCE guidInstance 和 guidProduct 在同一设备上发生变化

我在一个项目中使用DirectInput8来监控电脑的各个组件。我们使用DirectInput8来监控操纵杆。通过枚举所有以DI8DEVCLASS_GAMECTRL为类型、以DIEDFL_ATTACHEDONLY为标志的操纵杆来检索数据。最近我注意到我们出现了多个操纵杆。首先,我查看了我们在两次重新启动之间存储组件的xml文件。游戏杆有两个条目,LogitechExtreme3dpro,每个条目都有一个独特的产品指南。我备份了文件并将其删除,在我重新启动机器后下次应用程序启动时有效地强制重新扫描机器。我能够让同样的问题发生并注销guids并且它们每个都不同。该系统只有一个插入的操纵杆,

c++ - Windows 8 SDK 中的 d3dx11.h

前言:我正在用VS2013做一个项目我试着#include但没有找到。我做了一些搜索,找到了这句话D3DXisnotconsideredthecanonicalAPIforusingDirect3DinWindows8andthereforeisn'tincludedwiththecorrespondingWindowsSDK.InvestigatealternatesolutionsforworkingwiththeDirect3DAPI.来自thispage然后我又做了一些搜索,找到了thisSOquestion我尝试了答案,但它最终打破了所有包含。是的,我已经做了一些搜索问题:你

c# - 扩展 Windows 键盘

我对扩展Windows键盘上的按键很感兴趣(特别是-但不一定限于-Windows7)。目前,我可以在我的C#应用程序中使用此处提供的key:http://msdn.microsoft.com/en-us/library/system.windows.forms.keys(v=vs.71).aspx我感兴趣的是扩展可用的键码,以便我可以根据我的特定(可编程键盘)硬件定制它们,然后能够在我的C#/DirectX应用程序中注册它们。我知道可以创建热键组合,但我想先探索一下这个选项。我的问题是:A)这种方法完全疯狂吗?B)ifA==false:有没有人有实践经验。能你推荐什么好我应该的关键字/

c++ - 具有透明缓冲区的 DirectX11 ClearRenderTargetViewback?

我正在尝试创建一个使用directx在透明View(即桌面显示)之上绘制不透明内容的窗口。使用DirectX11,我正在尝试执行以下操作,但它不会使背景透明。事实上,我输入的任何不透明度值都会给我完全相同的结果。我在做什么:floatcolor[4]={0.0f,0.0f,0.0f,0.0f};deviceContext->ClearRenderTargetView(backBuffer,color);工作重现代码(main.cpp):#include#include#pragmacomment(lib,"Winmm.lib")#include#pragmacomment(lib,"d

c# - 与 C#/WinForms 中高度优化的 GDI 代码相比,SharpDX 能带来多少改进?

几年来,我一直在开发C#/GDI图形应用程序。我花了很多时间优化绘图代码。我通过每秒大约10次使PictureBox控件无效并利用Windows触发它时发生的后续OnPaint事件来绘制到屏幕。OnPaint事件使我可以通过PaintEventArgs参数访问Graphics对象。每帧:我画了数百条线,数百个矩形,我也调用了数百次Graphics.DrawString()方法。我开始整理一个SharpDX项目,希望我可以绘制更多2D元素,并更快地绘制到屏幕上。我设置了2个测试项目,使用GDI和SharpDX在屏幕上绘制相同的2D元素。我使用C#StopWatch对象来检测绘制所有2D元