草庐IT

3d匹配

全部标签

c++ - ID3D11DeviceContext::Map 性能低下

我正在使用桌面复制将屏幕内容复制到内存中的位图中。我收到桌面纹理,然后创建暂存纹理,使用CopyResource将桌面纹理复制到暂存纹理中,最后调用ID3D11DeviceContext::Map访问暂存纹理位和复制它们。与此处描述的方式几乎相同:https://stackoverflow.com/a/27283837/825318问题是Map调用需要花费大量时间-对于4K等大型显示分辨率,每次调用最多可能需要100毫秒,这高得令人无法接受,因为我需要确保30fps速度。有没有什么办法可以更快的获取贴图的内容?如果没有,有没有办法提供我自己的映射地址指针,以便系统将纹理数据复制到那里?

c++ - 在 direct3d 应用程序中呈现格式化文本

我需要呈现一些格式化的文本(颜色、不同的字体大小、下划线、粗体等),但我不确定如何去做。D3DXFont只允许一次呈现单一字体/大小/粗细/颜色/等的文本,我看不到一种实用的方法来“组合”对ID3DXFont::DrawText的多次调用来做这样的事情......我环顾四周,似乎没有任何现有的库可以做这些事情,但我不知道如何实现这样的文本渲染器,我什至找不到任何关于如何渲染这样的文本的文档会工作,只渲染简单的固定宽度,ASCII位图字体,从表面上看可能是一种完全不同的方法,它只适用于渲染简单的文本block,其中Unicode不重要。如果没有direct3d字体渲染能够做到这一点,是否

c++ - _stricmp 在字符串匹配时返回错误值。该怎么办?

我有这段代码:second=strtok(NULL,"\n");logprintf(second);if(_stricmp(second,"WINDOWS")==0)logprintf将数据打印到日志文件中,并打印“WINDOWS”(不带引号)。但是_stricmp以某种方式返回13..所以if检查永远不会通过。我尝试过使用sscanf/sprintf/其他字符串方式,但都没有用。我没主意了。完整代码:#ifdefWIN32charbuf[65535];boolfound=false;boolinstall=false;boolinstalling=false;unsignedinti

windows - 如何使用 FINDSTR 仅获取匹配模式的行号

我卡在了Windows批处理(cmd)模式搜索中。我需要在文件中搜索模式并需要返回行号。我已经将FINDSTR与/X选项一起使用,但它还将模式匹配的行附加到行号。此外,我没有权限安装任何实用程序(如unix-utilities),因此我无法使用cut来提取行号。 最佳答案 for/f"delims=:"%%ain('findstr/n"pattern""file"')doecho"pattern"foundinline#%%a 关于windows-如何使用FINDSTR仅获取匹配模式的行

windows - 报告 Direct3D 内存使用情况

我有一个Direct3D9应用程序,我想监控内存使用情况。有没有工具可以知道Direct3D使用了多少系统内存和视频内存?理想情况下,它还会报告为纹理、顶点缓冲区、索引缓冲区分配了多少... 最佳答案 您可以使用旧的DirectDraw界面查询总内存和可用内存。您通过这种方式获得的数字并不可靠。可用内存可能随时变化,可用内存通常会考虑AGP内存(严格来说不是视频内存)。您可以使用这些数字很好地猜测您的应用程序/游戏的默认纹理分辨率和细节级别,仅此而已。您可能想知道为什么没有办法获得更好的数字,毕竟跟踪资源使用情况并不难。从应用的角度

windows - 使用模式匹配删除当前目录中的所有文件夹

我需要删除当前目录中以“foo”开头后跟日期的所有文件夹例如我们有foo20120620foo20120513福布拉布拉我可以成功删除一个符合当前日期的文件夹例子setFOO_FOLDER=%CD%\foo%datetimef%echoY|rd/s/q%FOO_FOLDER%但我无法删除所有以foo开头的文件夹。我试过类似的东西setOLD_PATTERN="%CD%\foo"del%OLD_PATTERN%*我已经用谷歌搜索并试图解决这个论坛中已经提出的一些问题,但这些对我帮助不大。任何建议都会对我有很大帮助。必须在Windows端使用批处理脚本。 最佳答

c++ - 构建通用应用程序时编译器和库版本之间的 cl.exe 不匹配

我正在尝试从命令行使用cl.exe构建Windows通用应用程序。我已经从其中一个VisualStudio模板粘贴了命令行参数,但我仍然无法使其正常工作。我收到以下错误:F:\ProgramFiles(x86)\MicrosoftVisualStudio14.0\VC\INCLUDE\vccorlib.h(348):errorC3940:'EventRegistrationToken':identifiernotfound-possiblemismatchbetweencompilerandlibraryversions.Pleaseensurevccorlib.h/.lib,vcco

windows - 请帮助 - 来自 Aero Shake/3D 翻转的 WM_SYSCOMMAND 消息

你好我有一个用Delphi2006编写的应用程序。我注意到在Windows7下运行时,该应用程序没有收到来自AeroShake的WM_SYSCOMMAND消息。但是,如果我以管理员身份运行该应用程序,那么它会在执行AeroShake时收到WM_SYSCOMMAND。我已经尝试为WM_SYSCOMMAND调用ChangeWindowMessageFilter并得到True的结果表明调用成功但我仍然无法从AeroShake获得WM_SYSCOMMAND消息。有谁知道为什么以及如何解决这个问题?谢谢 最佳答案 Thisdiscussion

windows - 如何对 live windows 7 窗口内容进行 3d 操作?

这基本上是一个范围界定问题,我应该在哪里寻找将窗口内容渲染到3d表面并对其进行操作的工具?我的意思是我可以有一个像shell一样的程序,它可以像VistaDWM's3dTaskSwitcher那样以3d形式合成实时窗口吗?并且可以将UI交互转换回每个窗口的2d交互?我在网络上到处都看到过DWM扩展​​的提及,但找不到任何关于它如何工作的资源。还有通过关联两个窗口的HWND来实现DWM缩略图的指南,但这不允许我在窗口上进行任意转换并且仅显示(您不能单击缩略图中的内容。)有什么想法吗? 最佳答案 没有用于操作DWM的3D视觉效果的界面。

windows - WinDbg:尝试附加到进程时 dbghelp.dll 的版本不匹配

一年多以前,我已经使用WinDbg和DebugDiag来查找我们在Java中使用的JNInativeDLL中的内存泄漏。现在我正在寻找线程句柄泄漏。我使用ProcessExplorer创建了一个内存转储,并尝试在DebugDiag中对其进行分析,但我得到的只是脚本错误:我也尝试过WinDbg,但它无法再附加到进程。我总是收到错误消息“dbghelp.dll的版本与调试器不匹配”:(“UnbekannterFehler”的意思是“未知错误”)我卸载了DebugDiag和WindowsSDK,然后下载了最新版本并安装了WindowsSDK8和DebugDiag1.2(x86)。问题保持不变