c# - WPF 效果防止纹理重新加载
问题描述
我目前有一个在网格中显示图像的应用程序。每个图像都有一个效果。当用户在单击的同时移动鼠标时,效果的某些输入参数会发生变化,从而导致图像的显示不同。但是,当我显示大约 8 张或更多图像并且同时更改每张图像时,我的 FPS 会大幅下降。
使用 Perforator 工具,我注意到硬件 IRT 变得非常大(8 幅图像每帧 32 个)。硬件 IRT 的数量与显示的图像数量成正比。所以看起来对于每一帧的变化,图像纹理一次又一次地加载到 GPU,尽管实际的纹理永远不会改变。
有没有办法禁用这种行为?RenderOptions.CachingHint 听起来像是一个候选者,但是当我在 Image 上设置它时它没有任何效果。
解决方案
推荐阅读
- php - 使用 PHP 解析页面时如何保持登录状态?
- c# - 使用 ShimContext.Create() 的单元测试在 Azure DevOps Pipeline 上出现错误
- python-3.x - 如何计算和放置按色调分割的每个 seaborn 箱线图的观察次数?
- javascript - 在Angular 8的数组中查找所有重复项
- python - 如何使用 requests_mock 检查每个请求类型的呼叫计数?
- java - 如何在 java/groovy 中模拟方法?
- javascript - MDN 文档中 javascript 导入中的这些方括号是什么?
- java - ORACLE SQL 两个日期之间的差异休眠
- php - 在多维数组中查找重复值并使用 PHP 将它们的 ID 以逗号分隔并相应地组合起来
- xml - 使用 XML 的视图中的圆角