- 博客(547)
- 资源 (37)
- 收藏
- 关注
转载 AMD显卡掉驱动黑屏等及解决方法
最近在使用AMD显卡玩APEX时候经常会出现打个三四把就掉驱动的情况,我用的是5700xt卡加的是5600x的u,不管是换什么最新还是经过认证的驱动还是一样掉。后来发现微软会后台更新显卡驱动,更新的时候会和AMD官方的驱动冲突打架,然后把amd官方驱动给顶掉造成驱动崩溃及黑屏闪屏的情况。这些方法也是在驱动出现问题后不断搜查和尝试得出的几种比较有效的几种,希望可以对出现问题的用户有所帮助!:下载AMD官方的网吧版驱动,很多用这个也能解决,网吧版安装是只有驱动比较纯净,没有AMD的控制软件的。
2024-07-02 17:32:17 7232
原创 SVN常用命令使用总结
svn checkout http://192.168.1.242:8080/svn/IOS/remote_dir (svn项目全路径)project_dir(本地目录全路径) --username 用户名 --password 密码。svn import project_dir(本地项目全路径) http://192.168.1.242:8080/svn/IOS/Ben/remote_dir(svn项目全路径) -m "必填, 不填此命令执行不会成功."B、放弃自己的更新,使用别人的更新。
2024-04-23 14:19:17 1025
原创 Vim编辑器命令使用总结
如果出现这些字符,例如,要查找字符串 "10$",则需要在命令模式中输入 "/10\$"。I 在光标所在行的行首插入随后输入的文本,行首是该行的第一个非空白字符,相当于光标移动到行首执行 i 命令。2.命令模式下使用“/***",再按Enter可以搜索指定内容,再按n往下跳转,或者N往前跳转。复制:把光标移到要复制的文本的头部,按下“v”,往后移动光标,光标所过之处的字符>都会高亮,剪切:把光标移到要剪切的文本的头部,按下“v”,往后移动光标,光标所过之处的字符>都会高亮,按下“p”粘贴到目的地。
2024-04-23 14:14:58 595
原创 GDB调试器命令总结
num... 表示可以有多个参数,每个参数都为要禁用断点的编号。栈帧中存储的寄存器变量,例如指令寄存器(64位环境中用 rip 表示,32为环境中用 eip 表示)、堆栈基指针寄存器(64位环境用 rbp 表示,32位环境用 ebp 表示)等。function function表示程序中包含的函数的函数名,即 break 命令会在该函数内部的开头位置打断点,程序会执行到该函数第一行代码处暂停。u参数可以用下面的字符来代替,b表示单字节,h表示双字节,w表示四字节,g表示八字节。
2024-04-23 14:08:11 1501
原创 cmake命令使用总结
如果 CMAKE_CXX_STANDARD_REQUIRED 被设置为 TRUE 或 ON,并且编译器不支持 CMAKE_CXX_STANDARD 设置的 C++ 标准,CMake 将会报错并终止配置过程。以下是一些常见的 CMAKE_HOST_SYSTEM_PROCESSOR 值的示例:x86:表示 x86 架构(32 位)。当你使用 find_package,find_library,find_file 等命令时,CMake 会在 CMAKE_PREFIX_PATH 列出的路径下寻找相关文件。
2024-04-23 14:04:44 1137
转载 什么时候使用访问者模式?
通过使用访问者模式,我们可以轻松地添加新的元素和新的访问者,而不需要修改元素类的结构。这样,我们可以在不同的上下文中执行不同的操作,保持代码的可扩展性和灵活性。访问者模式适用于对象结构相对稳定但需要在其上定义新操作的情况。在这些场景中,访问者模式可以帮助保持代码的灵活性和可扩展性。然而,过度使用访问者模式可能会导致代码变得复杂,因此需要谨慎使用。
2024-04-09 11:53:51 80
原创 半精度浮点数在计算机中的表示方式
半精度浮点数(Half-precision floating-point)是一种计算机数学中使用的浮点数表示方法。在IEEE 754-2008标准中,半精度浮点数被定义为使用16位(即2字节)来表示。这种16位的表示方式在存储空间有限或处理速度要求较高的场景下非常有用,但其表达的数值范围和精度相比于单精度(32位)和双精度(64位)浮点数要小得多。其中,�S是符号位,�E是指数部分(考虑偏移),�M是尾数部分,表示为1加上二进制小数。
2024-02-29 15:10:07 1406
原创 HDR相关文章收集
什么是4K HDR?HDR10+、HDR10 PRO、杜比视界HDR区别HDR中显示器标准和视频编码标准芯片支持HDR解码HDR详解HDR技术趋势浅析BT.2100 HDR 基本规范图形图像基础知识(5)---- HDR 基本概念
2023-11-21 10:35:28 187
原创 fopen/fwrite/fread 对UNICODE字符写入的总结
从上面截图可知,数据确实成功写入了,文件也是UNICODE编码格式,但是写入的字符集不是UNICODE编码的,所以记事本打开会出现乱码。如果我们将写入的字节流改为char类型的数据,编码格式和字节流就能对应上,都为ANSI,此时文件显示也没问题。从截图可知,写入文件的编码格式为UNICODE编码,UNICODE编码格式的文件前面有2个字节的文件头。从截图可知,确实是将Unicode字符集转成了UTF-8编码格式的字符集,然后写入了文件。模式打开文件时,进行读写操作的数据应为 UTF-16 编码,存储为。
2023-11-18 19:40:29 2059
原创 longlong/int64_t/uint64_t数据类型格式化输出(转成字符串)
在 C++ 中,int64_t是一个 64 位整型,通常用于确保整数大小在各种平台上的一致性。要格式化输出int64_t类型的变量,您可以使用printf函数或 C++ 的流输出。
2023-11-13 17:33:23 5944
转载 GPUView的使用
在hw queue下面的绿色长方形是系统的每个进程。0x000000001e80d这个线程一开始是占用的白色的core0,然后是红色的core2,后来又是白色的core0,所以,core0对应的idle线程里面在这两段时间里面是没有显示的,即被其他线程占用,不是idle}从上面展现的时间段来看,wow的主线程一直不停的向wow的cpu queue上提交work,然后操作系统将cpu的queue中的task提交到GPU的queue中,为了更好的看一下这些queue的行为,让我们看下面3个VSync段。
2023-09-14 15:03:45 1330
原创 Kommander服务器系统配置
win10 ltsc系统、驱动:461.72版本、 “控制面板--硬件和声音--电源选项--设置卓越性能“已经设置。 “我的电脑--属性--性能设置--调整为最佳性能“已经设置。 “NVIDIA控制面板->管理3D设置>全局设置>电源管理模式>最高性能优先 “NVIDIA控制面板->管理3D设置->全局设置->低延时模式 改为 超高“已经设置。 “NVIDIA控制面板->管理3D设置->全局设置->监视器技术 改为 固定刷新“已经
2023-09-12 10:27:13 407
原创 HLSL优化需要注意的地方
这意味着无论条件是否满足,所有的线程都会执行所有的分支,但是只会“保留”那些对应其自己的条件为真的结果。提示的语句时,它实际上会为满足条件的线程执行一次,然后为不满足条件的线程再执行一次。这意味着不会有多余的操作在任何线程上执行,但可能会导致线程的串行化(一个接一个地执行),从而可能降低性能。需要注意的是,这些属性仅仅是向编译器提供的建议或提示,编译器可能会基于其内部逻辑和优化策略来决定如何处理循环。提示时,它告诉编译器这个条件语句可能有大的分支差异,也即在不同的线程或像素之间,有些可能走。
2023-08-21 14:53:32 651
原创 D3D绘制精确到屏幕上每一个像素
如果此时我们设置好窗口的视口区域,比如为(x,y,width,height)。经过上面的设置,D3D就知道应该将图像的left对应到视口的x, top对应到视口的y ,right对应到视口的x+width, bottom对应到视口的y+height.此时视口中的每一个像素都可以经过透视变换的逆向变换到对应3D中间中的某个点。由此我们知道在3D空间中指定的区域只是图像的边界,left位置对应的是视口中最左边那一列像素的左边界,right位置对应的是视口中最右边那一列像素的右边界(top/bottom同上)。
2023-08-02 10:34:12 281
原创 使用NVIDIA FX Composer验证多纹理合成效果
最近项目上有一个需求,需要将4张带透明通道纹理合成为一张,并且每张纹理指定一个全局透明度。由于纹理过多,合成效果无法保证,为了减少项目的风险,领导希望我先快速验证一下我们讨论的方法是否能完成项目的要求。因此我花了几天时间研究了一下NVIDIA FX Composer工具的使用,并且通过此工具简单验证了一下4张纹理的合成效果。点击“OK”按钮以后,工程就新建好了,会弹出工具的主界面。此时你可以通过修改属性窗口中输入参数查看右下角渲染窗口的实时效果。此时可以清楚的看到平面显示的内容。点击一下工具栏的图标“
2023-07-18 17:21:23 1253
原创 DirectX11--HLSL中矩阵的内存布局和mul函数探讨
g_World[0]表示矩阵的第1行,读取到的数据为cb[0],cb[1],cb[2],cb[3]这4个寄存器中的第1个值.g_World[1]表示矩阵的第2行,读取到的数据为cb[0],cb[1],cb[2],cb[3]这4个寄存器中的第2个值。g_World[2]表示矩阵的第3行,读取到的数据为cb[0],cb[1],cb[2],cb[3]这4个寄存器中的第3个值。g_World[3]表示矩阵的第4行,读取到的数据为cb[0],cb[1],cb[2],cb[3]这4个寄存器中的第4个值。
2023-07-11 19:34:08 1008
原创 D3D11绘制NV12格式内存数据图像到窗口
最近我们播放器(Kommander)有需要绘制NV12格式的内存数据图像到窗口上,为了搞清楚NV12的内存数据如何送入纹理对象,我专门写了个demo来实现这一块的功能,一是为了彻底搞清楚这一块原理,二也是为了方便其他人的学习。上面demo中,我自己创建了一块NV12内存数据,为了简单起见,我把NV12内存数据图像设置成一个灰色了(你们也可以根据自己需要改为其他颜色),所以你们执行程序最终会在窗口上看到一个灰色图像。
2023-07-10 10:38:20 1610
原创 关于D3D11渲染的一些总结
但是DXGI_FORMAT_B8G8R8A8_UNORM和DXGI_FORMAT_R8G8B8A8_UNORM是属于不同组里面的格式,因为他们颜色排列的顺序不同,所以这两个格式的纹理之间。例如:DXGI_FORMAT_R8G8B8A8_UNORM和DXGI_FORMAT_R8G8B8A8_UINT属于同一组格式,因为他们的颜色排列顺序相同,所以这两个格式的纹理之间。
2023-07-08 15:04:07 979
转载 C++ #pragma 预处理指令
因为DLL中的全局数据对于每一个调用它的进程而言,是私有的,不能共享的。#pragma pack规定的对齐长度,实际使用的规则是: 结构,联合,或者类的数据成员,第一个放在偏移为0的地方,以后每个数据成员的对齐,按照#pragma pack指定的数值和这个数据成员自身长度中,比较小的那个进行。使用示例,假如在程序中我们定义了很多宏来控制源代码版本的时候,我们自己有可能都会忘记有没有正确的设置这些宏,此时我们可以用这条指令在编译的时候就进行检查。也就是说,在DLL中定义一个共享的有名字的数据段。
2023-05-08 17:15:40 871 1
原创 链接静态库时pdb如何处理?
我又编译了另外一个动态库,名称为:RenderEngine3D.dll。pdb文件为:RenderEngine3D.pdb。此dll依赖于JXEngine.lib,我在生成此dll的时候,需要将JXEngine.lib库文件拷贝到对应的目录下面,此时dll才能链接到,但是不需要拷贝JXEngine.pdb文件(可能是JXEngine.lib文件里面记录的有pdb文件的路径)。我编译了一个静态库名称为:JXEngine.lib,生成的pdb为:JXEngine.pdb.
2023-05-05 14:15:28 316
转载 File:\Boot\BCD Error code: 0xc000000f
3、简单设置系统语言等属性,其他跳过就好,进入桌面后直接复制需要备份的文件到你的移动硬盘中,如果没有移动硬盘,插上其他的U盘也可以,一般是备份C盘中的用户文件,这个根据自己的需要来进行备份。3、点击'疑难解答'之类的选项,然后你可以看到一些高级选项,比如'启动修复',点击这个启动修复,尝试修复你的电脑。如果行,它会提示已修复或修复成功,如果不行,到第4步。因为数据是很重要的,涉及到操作系统修复、更新、重装都可能会面临着一个巨大的潜在问题:数据被误删、误清除,所以我向你首先建议的就是:备份数据。
2023-04-21 18:54:18 3388
原创 3d空间中pan,tilt,roll和pitch,yaw,roll的对应关系
通常用于表示在垂直方向上的旋转,如摄像机向上或向下倾斜,以观察不同高度的物体。通常用于表示在垂直方向上的旋转,如摄像机向上或向下倾斜,以观察不同高度的物体。通常用于表示水平方向的旋转,如摄像机水平旋转以观察不同方向的场景。通常用于表示水平方向的旋转,如摄像机水平旋转以观察不同方向的场景。Roll(滚转):绕垂直于视线的Z轴旋转。在三维空间中,pitch(俯仰)、yaw(偏航)和roll(滚转)分别表示三个轴上的旋转。在三维空间中,pan(横摇)、tilt(俯仰)和roll(滚转)分别表示三个轴上的旋转。
2023-04-20 15:31:08 5837
转载 C语言运算符优先级和结合性一览表
所谓优先级就是当一个表达式中有多个运算符时,先计算谁,后计算谁。这个其实我们在小学学算术的时候就学过,如1+4÷2。但是C语言中的运算符已经远不止四则运算中的加减乘除了,还有其他很多运算符。当它们出现在同一个表达式中时先计算谁后计算谁呢?所以本节还是有必要讲一下的。最后我还会将所有运算符展示出来,然后告诉你哪个优先级高、哪个优先级低。首先不需要专门记忆,也没有必要。因为作为初学者,哪个优先级高、哪个优先级低我们很难记住。就算死记硬背记住了,时间长不用也会忘记。
2023-04-07 10:03:10 479
原创 C++定义能灵活表示多维空间中的点
我们经常需要定义一个类来表示一个2维或者3维空间中的点,并且类里面的数据类型也是不固定的。当我们需要一个表示2维空间中的类的时候,只需要用Point表示就可以。当我们需要一个表示3位空间中的类的时候,只需要用Point表示就可以。并且类里面的数据类型也是可以任意修改的。
2023-03-18 10:52:48 226
转载 Windows下使用Direct3D和OpenGl创建带Alpha透明的窗口
每个窗口在创建时,会为窗口客户区创建一个离屏表面,窗口的内容(按钮、编辑框等等等...)最终会绘制到这个离屏表面。这样DWM在渲染窗口时,绘制一个窗口边框并把对应窗口的离屏表面和窗口边框组合在一起,就形成了整个电脑桌面。具体代码见 d2d_code.cpp 的 InitDirect2D() 函数里,下面是摘取的代码片段。在Windows Vista 以上的系统,桌面使用支持硬件加速的DWM来渲染窗口。这样创建出来的窗口就没有重定向表面,客户区显示出来是透明的。窗口的离屏表面也叫做重定向表面。
2023-02-28 17:05:46 1007
转载 使Win32窗口透明的几种方法
该方法的优点是应用范围广,支持Win2000及以后的系统,且(我查了Direct3D9的文档发现IDirect3DSurface9::GetDC函数不支持透明度,因此不能用来创建透明窗口,不支持XP及以前的系统,必须要用Direct3D10以上API)支持Alpha为0处的点击穿透,满足了本文前面提到的所有要求,但是因为出现了HDC的操作,无法利用GPU加速(UpdateLayeredWindow是在CPU上完成的),拖慢了运行效率。因此在使用这种方法前应仔细考虑取舍。可以看到这个更简单,效果同上。
2023-02-28 17:02:20 3677
原创 c++类对象数据成员和虚函数的内存布局
pB的值-pC的值=12字节:这是因为类C的继承关系中,类A是第一个基类,类B是第二个基类,所以在类C对象的内存布局中,类B放在类A的后面,只要把pC的地址加上类A占用的部分(12字节,对齐到4字节)就是pB的地址。类C对象占用的内存大小为40字节:类A的部分占用16字节+类B的部分占用16字节+数据成员c占用4个字节,此时只有36个字节,根据字节对齐默认为8字节,所以最终加上字节对齐,整个类C占用的内存大小为40字节。派生类C中包含了2个虚表,一个虚表是指向基类A中的函数,一个虚表是指向基类B中的函数。
2023-02-24 11:27:46 661
转载 HLSL 常用函数
如果函数 ddx 的参数为 myVar,该参数对应的像素点记为p(i,j),则 ddx(myVar)的值为“像素点 p(i+1,j)的值减去myVar”(ddy同理)tex3Dproj(s, t) 把纹理当做一张幻灯片投影到场景中,先使用投影纹理技术需要计算出投影纹理坐标t(坐标t.w除以透视值),然后使用投影纹理坐标进行查询。ex1Dproj(s, t) 把纹理当做一张幻灯片投影到场景中,先使用投影纹理技术需要计算出投影纹理坐标t(坐标t.w除以透视值),然后使用投影纹理坐标进行查询。
2023-02-07 15:04:10 1073
原创 畸变校正相关文档
slam十四讲,第五讲中相机坐标系,像素平面坐标系,世界坐标系,归一化坐标系总结【SLAM学习】(二)相机原理去畸变算法相机畸变详解图像去畸变、双线性插值
2023-02-07 14:46:53 131
原创 相机相关知识介绍
相机和摄影相关知识:http://www.360doc.com/userhome.aspx?userid=68084919&cid=2相机的对焦是什么意思?为什么需要对焦?分不清对焦和焦距?一篇文章让你理清镜头“焦距”的门道,你真的了解吗?
2023-02-01 11:32:06 90
转载 GPU-Z的像素填充率、纹理填充率、显存带宽计算公式
都是采用的DDR技术(通过差分时钟在上升沿和下降沿都进行数据传输,其一个周期传输两次数据,相当于SDRAM频率的2倍),故其显存等效频率=显存频率×2;而GDDR5则不同,它有两条数据总线,相当于Rambus的QDR技术,传输能力相当于SDRAM频率的4倍,所以显存等效频率=显存频率×4.以如图Geforce GTX670为例,核心频率1059MHz,显存频率1502MHz,光栅单元32个,纹理单元112个,(1)像素填充率是指显卡在每个单位时间内所能渲染的像素数量,单位是GPixel/s(每秒十亿像素)
2023-01-11 11:40:42 4602
转载 D3D11的初始化
尤其是在把后台缓冲区绑定到管线的输出合并器阶段时(使Direct3D可以在后台缓冲区上执行渲染工作),我们必须为后台缓冲区创建一个渲染目标视图(render target view)。:因为大多数显示器不支持超过24位以上的颜色,再多的颜色也是浪费,所以我们将后台缓冲区的像素格式设置为DXGI_FORMAT_R8G8B8A8_UNORM(红、绿、蓝、alpha各8位)。第三个参数是将要绑定到管线的深度/模板视图。另外,在使用深度/模板缓冲区之前,我们必须为它创建一个绑定到管线上的深度/模板视图。
2022-11-17 15:06:05 1456
转载 VC静态库的调试
综上所述,想要调试静态库只要保持静态库的pdb文件位置不变或者将静态库的pdb文件和静态库lib文件放在一起,然后正常链接。调试信息就被包含到了最终生成的文件的pdb文件里,需要调试的时候直接加载最终生成的文件的pdb文件,和正常调试动态库或者可执行文件一样。没关系,链接器链接的时候如果找不到绝对路径的pdb文件还会搜索和静态库lib文件放在一起的和原pdb文件同名的pdb文件。的确如此,链接器在连接的过程中会将静态库的pdb文件中被用到的调试信息解析出来然后合并到最终的生成文件的pdb文件里。
2022-11-15 09:55:14 760
转载 C++11 的 std::ref 用法
不使用引用,可能确实有一些需求,使得 C++11 的设计者认为默认应该采用拷贝,如果使用者有需求,加上。我们知道 C++ 中本来就有引用的存在,为何 C++11 中还要引入一个。)在使用时,是对参数直接拷贝,而不是引用。用于取某个变量的引用,这个引入是为了解决一些传参问题。来绑定引用进行传参,否则,形参的引用声明是无效的。主要是考虑函数式编程(如。
2022-11-15 09:19:35 408
windows管道通信
2020-08-13
dll注入和API拦截测试代码.rar
2020-08-11
使用NVIDIA FX Composer工具验证多张纹理合成效果
2023-07-18
显示器带宽计算.zip
2021-09-01
颜色和HDR知识总结.pptx
2021-06-24
压缩纹理通过d3d9和cuda进显存速度对比3 (测试100次平均值)
2020-12-16
压缩纹理通过d3d9和cuda进显存速度对比2
2020-12-04
压缩纹理通过d3d9和cuda进显存速度对比
2020-07-25
vld内存泄露检测工具
2018-11-02
COM组件例子程序
2018-10-24
网络唤醒开机
2018-10-15
MPC-HC播放器源代码
2018-08-30
COM组件用例和测试代码V2
2018-06-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人