Visual Studio图形分析器的播放机制 [英] Playback mechanism for Visual Studio Graphics Analyser

查看:75
本文介绍了Visual Studio图形分析器的播放机制的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

你好,

Windows10 64位,DX11.1、64位,Geforce GTX960

Windows10 64bit, DX11.1, 64bit, Geforce GTX960

我正在研究一个问题,我们最终会在一些像素的4xfloat16/half帧缓冲区中出现1-2位的差异(在512x512xBGRAFloat16中通常为1至2000像素).差异在视觉上并不明显,因为通常在最后 精度(通常绝对误差<0.0001),但是我们将这些渲染器用作离线构建过程的一部分.

I am investigating an issue where we end up with a difference of 1-2 bits in a 4xfloat16/half framebuffer in some pixels (usually between 1 and 2000 pixels in a 512x512xBGRAFloat16). The difference is not visually noticeable as it is normally in the last digit of precision (absolute error normally < 0.0001), but we are using these renders as part of an offline build process.

我们使用图像的CRC32来检测是否执行昂贵的操作-这种差异显然会使缓存无效并使强制昂贵的进程运行.

We use the CRC32 of the image to detect whether to do an expensive operation - this difference obviously invalidates the cache and forces the expensive process to run.

使用开始图形调试";我已经捕获了两个连续的运行,其中发现了差异.如果我打开两个帧并比较数据,则它们是相同的(就GPU状态而言),并且*通常*,像素历史是相同的.

Using "Start Graphics Debugging" I have captured two successive runs where a difference was detected. If I open the two frames and compare the data it is identical (in terms of GPU state) and *usually* the pixel history is identical.

但是-如果我在Visual Studio图形分析器VSGA工具中的两个捕获之间来回切换(看相同的像素),则最终的像素颜色有时会改变.我在两者之间来回点击的次数是随机". 从1到20次点击.

However - if I toggle back and forth between the two captures in the Visual Studio Graphics Analyser VSGA tool (looking at the same pixel) sometimes the final pixel colour will change. The number of times I click back and forth between the two is "random" anywhere from 1 to 20 clicks.

当显示差异时,通常是帧缓冲区值的变化,而不是着色器的输出.

When a difference shows up it is normally in a change in the Framebuffer value, not the output of the shaders.

即.如果查看给定着色器的输出合并,则可以看到两次运行之间的像素着色器输出(SRC)和渲染目标(DEST)相同.结果(即新的帧缓冲区值)也是如此.但是,最终像素值已更改1-2位 在框架的结尾.

Ie. if I look at the output merger of a given shader I see the Pixel Shader Output (SRC) and the Render Target (DEST) are identical between the two runs. So is the Result (ie. new Framebuffer value). However the final pixel value has changed by 1-2 bits at the end of the frame.

应该注意的是,这似乎是在混合操作中发生的(覆盖贴花)-但是运行之间的几何形状和所有GPU状态都是相同的.

It should be noted that this seems to happen in a blend operation (overlaid decals) - but the geometry and all GPU states are identical between runs.

我正试图将其范围缩小到DX问题,或者(更可能是)特定于驾驶员/供应商的问题.

I am trying to narrow this down to a DX issue or (more likely) a driver/vendor specific issue.

如何计算像素历史记录?我假设它与调试机中的默认GPU一起使用.特定于驱动程序的优化或错误会导致播放差异吗?

How is the pixel history calculated? I assume it is with the default GPU in the debugging machine. Would a driver specific optimisation or bug account for the differences in playback?

我可以强迫它使用WARP吗?

Can I force it to use the WARP?

非常感谢工具团队的任何反馈或建议.

Any feedback or suggestions from the tools team would be greatly appreciated.

谢谢

Ewen

ps.我无法上传图片,因为我的帐户尚未验证:(

ps. I can't upload an image because my account is not verified :(

Windows 10 Pro 64位(10.0,内部版本10240)(10240.th1_st1.160222-1812)

Windows 10 Pro 64-bit (10.0, Build 10240) (10240.th1_st1.160222-1812)

------------------
显示设备
---------------
        卡名称:NVIDIA GeForce GTX 960
     制造商:NVIDIA
        芯片类型:GeForce GTX 960
          DAC类型:集成RAMDAC
      设备类型:完整设备
       设备密钥:Enum \ PCI \ VEN_10DE& DEV_1401& SUBSYS_1138196E& REV_A1
   显示内存:20355 MB
  专用内存:4010 MB
    共享内存:16345 MB
     当前模式:1920 x 1200(32位)(59Hz)
     显示器名称:Dell U2413(数字)
    显示器型号:DELL U2413
       监控ID:DELF047
      纯模式:1920 x 1200(p)(59.950Hz)
      输出类型:DVI
      驱动程序名称:nvd3dumx.dll,nvwgf2umx.dll,nvwgf2umx.dll,nvwgf2umx.dll,nvd3dum,nvwgf2um,nvwgf2um,nvwgf2um
驱动程序文件版本:10.18.0013.6510(英语)
   驱动程序版本:10.18.13.6510

---------------
Display Devices
---------------
          Card name: NVIDIA GeForce GTX 960
       Manufacturer: NVIDIA
          Chip type: GeForce GTX 960
           DAC type: Integrated RAMDAC
        Device Type: Full Device
         Device Key: Enum\PCI\VEN_10DE&DEV_1401&SUBSYS_1138196E&REV_A1
     Display Memory: 20355 MB
   Dedicated Memory: 4010 MB
      Shared Memory: 16345 MB
       Current Mode: 1920 x 1200 (32 bit) (59Hz)
       Monitor Name: Dell U2413(Digital)
      Monitor Model: DELL U2413
         Monitor Id: DELF047
        Native Mode: 1920 x 1200(p) (59.950Hz)
        Output Type: DVI
        Driver Name: nvd3dumx.dll,nvwgf2umx.dll,nvwgf2umx.dll,nvwgf2umx.dll,nvd3dum,nvwgf2um,nvwgf2um,nvwgf2um
Driver File Version: 10.18.0013.6510 (English)
     Driver Version: 10.18.13.6510

推荐答案

我使用WARP驱动程序运行了该应用程序,问题(微小的像素错误)消失了.我将直接与Nvidia合作.
I ran the application using the WARP driver and the issue (tiny pixel errors) went away. I'll pursue this directly with Nvidia.


这篇关于Visual Studio图形分析器的播放机制的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆