以下是引用wobianlong在2012-8-21 09:06:46的发言:
谢谢版主回答了那么多,但是我还是没怎么听懂,可能是我自己的理解问题
显卡的东西是CPU写进去的吗?还是从内存读取的?
显卡能直接和内存通信吗?
就一个C语言或者汇编程序来说?找不到具体的往显存写东西的代码,莫非是编译器?
不说输出一个字符了
说说打开一张图片的过程,我自己的理解是,CPU 通过主线 从硬盘读取一张图片,然后(放进某个内存中)需要这个过程吗?还是直接输出都显卡,图片处理程序来解读图片的字符流,又或者说那个图片处理程序会在GPU中运行?
版主讲解下 具体的过程 比如读取一个电影
显卡的东西是CPU写进去的吗?还是从内存读取的?
应该是内存到显存罢
显卡能直接和内存通信吗?
能罢
就一个C语言或者汇编程序来说?找不到具体的往显存写东西的代码,莫非是编译器?
目前的程序没有直接的代码来操作显存的了 要么是用操作系统的API 要么用openGL一类的库 要么用显卡的API 总之 基本没有直接操作的了 都隐藏了
不说输出一个字符了
说说打开一张图片的过程,我自己的理解是,CPU 通过主线 从硬盘读取一张图片,然后(放进某个内存中)需要这个过程吗?还是直接输出都显卡,图片处理程序来解读图片的字符流,又或者说那个图片处理程序会在GPU中运行?
应该是硬盘到内存再到显存 而实际中内存到显存一般是操作系统完成的 也不是简单的复制到显存这么简单罢 应该是通过相应的驱动实现的 然后由驱动完成内存到显存的复制
程序一般还是在CPU中运行的 目前绝大部分程序都是在CPU中运行的 少部分程序是由CPU和GPU共同完成运算的 完全GPU运行的程序目前很少
版主讲解下 具体的过程 比如读取一个电影
读取电影 CPU解码 画面经过接口给显卡 显卡再输出到显示器上 这是非【硬解】电影的播放过程
我上面一直在说的一个东西就是接口 对于非底层开发者 会用接口很重要 就好像printf()函数 这个函数怎么写的你不用关心 你会用就可以了 对于这种操作硬件的东西 更要通过接口 像DOS时代那种直接操作硬件目前已经很难实现了 即使是用汇编也一样 当然用接口也有很多缺点 带来一些问题 如果你有兴趣 可以根据我上面说的那些研究这个具体怎么实现的 不过 如果你不是专业搞底层开发 搞明白没意义 我都不是搞计算机的更不会搞明白了 呵呵