随笔分类 -  HLSL学习

GPU编程
摘要:在写shader的时候,其实一些写法对于其执行影响非常大,而且由于gpu和cpu在架构上的不同,代码的优化思想也不一样,最近一直在写几个shader,为了性能问题,查阅了很多资料,把一些tips总结下来。 首先要树立几个思想: 1.gpu是SIMD的架构,即单指令多数据流架构,即在gpu上同时执行n 阅读全文
posted @ 2017-12-26 15:12 Conster康 阅读(496) 评论(0) 推荐(0)
摘要:因为要反汇编shader代码,所以google了数学函数_sat的知识,发现了一些高级着色语言的优化相关的问题。Low-level Thinking in High-level Shading Languages,地址如下 http://www.luluathena.com/?p=1633大意是汇编写shader,代码需要自己来优化。一直都是写HLSL这样的高级语言,编译器自动优化,却发现书写的代码会深深影响所生成的汇编效果。依赖编译器优化,总是那么不靠谱,所以懂点儿优化的程序员还是有市场的。摘个例子1:(x + 1.0f) * 0.5f所生成的汇编指令是两句,先add,再mul,很直观。而x 阅读全文
posted @ 2013-09-06 09:38 Conster康 阅读(1251) 评论(0) 推荐(0)
摘要:断点+堆栈跟踪DXUT1.wWinMain函数即为程序的入口函数,首先注册一些用到的函数2.调用InitApp()函数,这个函数主要用来绘制界面,并注册界面的回调函数3.调用DXUTInit()函数,初始化DXUT,DXUTCreateWindow()创建win32窗口,DXUTCreateDevice()创建D3D设备4.之后进入消息的主循环,DXUTMainLoop(),里面封装了Windows的消息循环机制,并在消息空闲idle time的时候调用DXUTRender3DEnvironment()函数。在这个函数中会调用FrameMove()和FrameRender()函数。这个函数里面 阅读全文
posted @ 2008-11-12 23:52 Conster康