上一页 1 ··· 4 5 6 7 8 9 下一页
摘要: 4遇到的问题1、如何解决printf导致两个线程频繁切换?这个问题的解决方法在前面已经明确了,就是分配一个很大的输出缓冲区,在写到一定程度时再一次性用printf输出,避免printf的频繁调用。最好实在程序结束时输出统计和信息。2、在使用锁之后,是否会导致线程的频繁切换?这也是我的疑问,后来在windows上做了一个实验证明了不同的锁会引起不同的线程调度行为。DWORD WINAPI ThreadProc(LPVOID){charbuf[1000];LARGE_INTEGER li;for(inti = 0; i < 100; ++i){LOCK();//这是个宏,用于切换使用各种锁t 阅读全文
posted @ 2011-05-10 21:14 30斤大番薯 阅读(613) 评论(0) 推荐(0) 编辑
摘要: 关于线程同步与双队列性能1问题背景2第一种方式,共享队列3第二种方式,双队列4遇到的问题关于线程同步与双队列性能2009年7月12日星期日1问题背景这是在2008年3月学习多线程编程时遇到的一个问题。当时我写了一个代码片段,其中两个线程共享一个队列,一个线程往队列中写数据,而另一个线程从队列中读取数据。这是典型的生产者和消费者模型。但在这里并不适合使用semaphore来做。由于当时的我对多线程编程不太熟练,在线程中大量使用了printf输出调试信息,printf是典型的IO操作会引起线程的切换,所以打出来的信息也显示了线程切换十分频繁,几乎每一个数据入队列后,就立即被另一个线程抢占,并出队列 阅读全文
posted @ 2011-05-10 20:08 30斤大番薯 阅读(2313) 评论(0) 推荐(0) 编辑
摘要: 什么是FrameBuffer?(转载)FrameBufferFrameBuffer 是出现在 2.2.xx 内核当中的一种驱动程序接口。这种接口将显示设备抽象为帧缓冲区。用户可以将它看成是显示内存的一个映像,将其映射到进程地址空间之后,就可以直接进行读写操作,而写操作可以立即反应在屏幕上。该驱动程序的设备文件一般是 /dev/fb0、/dev/fb1 等等。比如,假设现在的显示模式是1024x768-8 位色,则可以通过如下的命令清空屏幕:$ dd if=/dev/zero of=/dev/fb0 bs=1024 count=768在应用程序中,一般通过将 FrameBuffer 设备映射到进 阅读全文
posted @ 2011-05-08 16:39 30斤大番薯 阅读(2208) 评论(0) 推荐(0) 编辑
摘要: Using Integer Textures in OpenGL for Calculation OpenGL could perfectly support integer textures through 'GL_EXT_gpu_shader4' and 'GL_EXT_texture_integer' extension. So we can do some GPGPU work with integer values in shaders. First of all, prepare the integer texture:view plaincopy 阅读全文
posted @ 2011-05-08 13:32 30斤大番薯 阅读(929) 评论(0) 推荐(0) 编辑
摘要: GLSL修飾符小結By 凱絲緹爾 Uniform僅可以在Shader外改變取值, 在Shader中不能被改寫 適合於定義那些取值不常需要改變的變量 Uniform變量被Vertex Shader和Fragment Shader所共享 除非函數有Sampler類型的參數, 否則一個Uniform變量被聲明後必須被使用 所有類型的變量和數組均可被Uniform Qualifiers修飾 In適合於定義向Vertex Shader輸入的, 變化頻率比較高的變量. 對於Vertex Shader, 不可以接受布爾標量/向量, 結構, 或Sampler. 其目的在於保持在變量值被反復修改情況下圖形硬件的 阅读全文
posted @ 2011-05-02 21:24 30斤大番薯 阅读(264) 评论(0) 推荐(0) 编辑
摘要: 1.要想VTK使用GPU体绘制的话,一定要下directX SDK,这个是惨痛的教训。2.VTK用CMAKE的时候记得选择GUISUPPORT和MFC,不然和MFC一起用不了3.ITK按照CMAKE的基本设置就可以了4.CUDA的话 下载好cuda tookit和GPU Computing SDK 3.2的版本相对于3.1的文件结构变化比较大,rules文件的位置都不一样了,现在在C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v3.2\extras\visual_studio_integration\rules里面,我选了NvCudaRu 阅读全文
posted @ 2011-04-05 02:23 30斤大番薯 阅读(3927) 评论(3) 推荐(0) 编辑
摘要: 这个鸟问题搞了我一天,之前是在64位上调了很久才能运行。。。。运行之后体绘制的速度非常非常慢。。。百思不得其解。。。以为是系统的问题,搞到我又装回了32位系统。。。。害死人鸟。。。哎最后找到了解决方案:因为VTK中的GPUVolumeRender是从VTKEdge中引进过来的,里面有用到了directX来查询GPU的信息。。。没想到这个是如此重要的。。。没有它GPU就不能进行体绘制了。。。哎下载DirectX SDK 9.28.1886 (2/5/2010) http://www.onlinedown.net/softdown/13300_2.htm装好之后,重新CMAKE。。。仔细看。。。c 阅读全文
posted @ 2011-04-05 01:55 30斤大番薯 阅读(3121) 评论(9) 推荐(1) 编辑
摘要: 找不到cuda.rules如果是3.2默认是在C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v3.2\extras\visual_studio_integration\rules当然根据你安装的位置稍有不同。里面有4个规则,选择你需要的 阅读全文
posted @ 2011-04-04 01:58 30斤大番薯 阅读(527) 评论(0) 推荐(0) 编辑
摘要: 在终端中输入:gconftool-2 --set /apps/metacity/general/button_layout --type string "menu:minimize,maximize 阅读全文
posted @ 2011-04-03 12:59 30斤大番薯 阅读(197) 评论(0) 推荐(0) 编辑
摘要: 昨晚发现用geomagic抽出的面模型有个很大的问题——刚好反转过来的!!也就是说。。。肝跑到左边去了。。。胃在右边。。。。这让我百思不得其解还好google给我搜对关键词了,原来是vtk和itk的坐标系不一样的问题,下面是引用VTK uses the computer graphics standard of having the origin at the upper left of a screenITK uses the mathematical standard of having the origin on the lower left.Note however that all 阅读全文
posted @ 2011-03-31 22:03 30斤大番薯 阅读(2477) 评论(1) 推荐(0) 编辑
上一页 1 ··· 4 5 6 7 8 9 下一页