在Window10和Window11系统,WPF使用Viewport3D 渲染失败问题解决方案

news/2025/2/15 23:33:11/

        最近遇到个棘手的问题:在供应商提供的戴尔optiplex 3000的12代处理器主机的集成显卡Intel(R) UHD Graphics 770上使用Viewport3D 渲染失败(3D模型显示不了,或者是显示不全),之前开发验证使用的是集成显卡Intel(R) UHD Graphics 630、集成显卡Intel(R) HD Graphics 4600、集成显卡Intel(R) UHD Graphics 6300的主机都是没有问题的。

**************************************************************************************************************

        发现这个问题后,就疯狂的在网上搜索,奈何百度必应搜索出来的都没有该问题的解决方法或者该类似问题的解决方法。皇天不负有心人啊,折腾了三四天,终是把问题解决了,在此做个笔记和分享一下解决/排查的过程,以防哪天遇到同样或者类似的问题,还是手足无措,白白花费时间。

**************************************************************************************************************

        首先来了解一下该显卡:显卡英特尔 UHD Graphics 770 [渲染器数量 32 发布日期 2021 核心代号 Alder Lake 生产工艺 10 nm,主要集成在12代Alder Lake 架构的各种处理器中,是集成显卡。

**************************************************************************************************************

        遇到该问题首先想到可能原因有3种:1、微软系统中Viewport3D和Intel(R) UHD Graphics 770的驱动不兼容;2、软件程序中使用的Viewport3D的写法存在问题,就是代码错误;3、电脑其他硬件如主板等和微软组件不兼容,导致渲染加载3D模型失败。

**************************************************************************************************************

排查经过:过程比较繁琐,如果想直接看到解决方法可以跳到第8点查看。

        1、首先排查的是Viewport3D的程序,之前写的都是直接前台实现的模型和控制旋转,镜头远近的相对比较复杂,然后就写一个很简单的示例(Viewport3D里面放一个按钮)来验证,是否是软件写的不正确,显示正常如下图。但是拷贝到那台新主机上运行时,显示还是不正确,只能看到右侧的一点竖下来的边。这就说明了不是程序写的有问题。

        2、会不会是Viewport3D程序中使用的.NET Framework版本和电脑系统或和电脑不兼容了?于是乎就把.NET Framework的版本修改了,使用了.NET Framework 4.5、.NET Framework 4.6、.NET Framework 4.7、.NET Framework 4.8的,编译过后,运行后显示结果也还是不正确。那就证明和.NET Framework的版本没有关系。

       3、使用win+x快捷方式,才菜单中点击【设备管理器】,进入到设备管理器界面,从显示适配器树,查看到Intel(R) UHD Graphics 770的驱动程序是已经安装成功的了,也是比较新的驱动程序。里面显示两个驱动程序,经过查询第二个驱动OrayIddDriver Device是向日葵的一个虚拟驱动程序。到此以为是第二驱动程序引起的,于是把第二驱动程序禁用了,然后运行Viewport3D的程序,结果大失所望,还是显示不正常。

         4、然后觉得是不是Intel(R) UHD Graphics 770不兼容微软系统Viewport3D这个功能呢?于是乎,把这个驱动也禁用了,结果惊奇的发现,Viewport3D的程序显示正常了。至此更加肯定是显卡驱动存在问题了。

        5、既然Intel(R) UHD Graphics770驱动有问题,之前的显卡显示没有问题,那是否可以按集成显卡Intel(R) UHD Graphics 630驱动呢?答案是否定的,770显卡是不支持Intel(R) UHD Graphics 630驱动程序的。

        6、下载个鲁大师,先吧Intel(R) UHD Graphics770驱动卸载后,显示两个可安装的驱动程序,分别安装这两个版本,结果还是显示有问题,既然不行,是不是要更新一下戴尔相关的驱动程序呢?20230209  Intel-UHD-Graphics 770 驱动  —  无效果、20210312  Intel-UHD-Graphics 770 驱动  —  无效果、Intel-UHD-Graphics-Driver_PW4R2_WIN64_30.0.101.1218_A01.EXE  —  无效果。

        7、进入戴尔官方网站,下载并安装SupportAssist,安装完后检查更新,发现存在要更新项目,比如主板程序,如果显卡不是最新的也会显示更新项,更新完后,显示还是不正确。

 

        8、最后冷静的分析了一下,既然WPF中的Viewport3D类涉及到渲染、图形加速,那肯定是和英特尔的显卡(3D)功能、图形属性、图形设置或者3D设置参数有关联,那就要找到设置的界面了,在电脑上找了好久,没找到入口;无意中发现这个是要下载客户端软件才行,于是在window10系统自带的微软商店中下载了【英特尔 显卡控制中心】这个程序,如图。下载完后,进行安装(过程是更新了一些驱动吧,具体是什么,没有细看),安装好后,没有修改任何参数,运行Viewport3D示例程序,发现显示正确正常了,之后卸载这个控制软件,重启后显示也正常了,至此该问题解决了。

 

         以上就本人在针对“Window10和Window11系统,使用Viewport3D 渲染失败问题-Intel(R) UHD Graphics 770驱动程序上使用Viewport3D显示失败问题”的分析和排查步骤了;

**************************************************************************************************************

        最后的结论是:电脑供方提供过来的optiplex 3000的主机的集成显卡Intel(R) UHD Graphics 770的驱动存在异常;为阉割版的驱动或安装电脑时自动匹配的驱动存在不兼容; 无法使WPF Viewport3D类功能正常显示;需要下载英特尔官方的显卡控制中心程序,对显卡进行更新。

**************************************************************************************************************

文章来源:https://blog.csdn.net/BYH371256/article/details/130775401
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ppmy.cn/news/74212.html

相关文章

【大数据模型】LeonardoAi让心中所想跃然纸上

汝之观览,吾之幸也! 本文主要聊聊LeonardoAi绘图工具 一、注册Discord账号 不管LeonardoAi还是midjourney,都需要注册一个Discord账号,Discord是一个社区软件,在这里可以进行讨论和交流使用心得 LeonardoAi官网地址 …

MySQL数据库之存储引擎

一、存储引擎的概念 1.1 什么是存储引擎 MySQL中的数据用各种不下同的技术存储在文件中,每一种技术都使用不同的存储机制、索引技巧、锁定水平并最终提供不同的功能和能力,这些不同的技术以及配套的功能在MySQL中称为存储引擎。存储引擎是MySQL将数据存…

Numpy 函数 (一) squeeze(), unsquezze()

1. np.squeeze() syn: np.squeeze(a,axisNone) Notice: 1. a 表示输入的数组 2. axis表示指定需要删除的维度,但是指定的维度必须为单个维度,否则会报错 3. axis 取值可以为None, int, tuple of ints, 或者 axis 为空则表示删除所有单个维度 4.返回值:数组 5. 不会在原来的数组…

Linux内核模块编程

访问【WRITE-BUG数字空间】_[内附完整源码和文档] 1 总体设计思路 Linux内核是单体式结构,相对于微内核结构而言,其运行效率高,但是系统的可维护性和可扩展性较差。为此,Linux提供了内核模块(module)机制&…

埃尔德动力系统指标公式,衡量趋势的惯性和能量

亚历山大埃尔德(Alexander Elder)在其经典著作《以交易为生》(原书第2版)新增了一个工具——动力系统(Impulse System),不过书中只介绍了动力系统的指标以及使用方法,并没有介绍系统的参数。其实动力系统在埃尔德2002年出版的《走…

戴尔 dell Inspiron3670电脑 Hackintosh 黑苹果efi引导文件

原文来源于黑果魏叔官网,转载需注明出处。(下载请直接百度黑果魏叔) 硬件型号驱动情况 主板B360 处理器i5-9400已驱动 内存8GB已驱动 硬盘KBG40ZNS256G NVMe KIOXIA 256GB ST1000DM010 1TB已驱动 显卡UHD630(1.05GHZ)已驱动 声卡Realte…

Docker与Docker-compose安装Vulfocus Vulhub漏洞环境

目录 一.docker 和 docker-compose 介绍: docker: docker-compose: 二者的区别: 二者的联系: 二者的总结: 二.Centos 7安装Docker 三.Centos 7安装docker-compose 四.docker-compose搭建Vulhub漏…

《论文阅读》利用远程监督选择知识用于对话回复生成

《论文阅读》利用远程监督选择知识用于对话回复生成 前言简介动机相关知识知识对话系统的步骤多样性回复的方法抽取知识oracle label问题定义模型框架EncoderTask1: 合理地获得 oracle knowledge 作为 gold knowledgeTask2:使得selected knowledge与oracle knowledge一致Task3…