热点科技

标题: 小白问题:贴图是先载到内存还是直接载到显存的? [打印本页]

作者: fogtime    时间: 2006-12-30 21:23
标题: 小白问题:贴图是先载到内存还是直接载到显存的?
小白问题:贴图是先载到内存还是直接载到显存的?
小白问题:贴图是先载到内存还是直接载到显存的?

小弟愚笨。。不要笑我。。
作者: winneryi    时间: 2006-12-30 21:25
我想是内存
作者: sdly001    时间: 2006-12-30 21:32
内存吧。           
作者: 328991660    时间: 2006-12-30 21:58
60多人看,就是没人回答
在google上看到d3d的3d贴图只能直接进显存,2d可以到内存。是这样的么?

那么那种属于3d贴图那种事2d贴图呢?
作者: 9477316    时间: 2006-12-30 21:58
架构不一样的图形芯片不一定。

我知道SGI ONYX2机器上的IR2图形 是纹理是直接进纹理内存的还有专用的总线。KYRO也是一样的这种结构桢缓存和纹理缓存大都分开或者逻辑上分开(一个显存芯片但是存储的地址分开)。  同时代的Gefore3 是先进内存的。这些学习的时候讲过。

其他的不知道了。

不一定直接
作者: xh7921    时间: 2006-12-30 21:59
原帖由 huoran 于 2006-12-30 21:58 发表
架构不一样的图形芯片不一定。

我知道SGI ONYX2机器上的IR2图形 是纹理是直接进纹理内存的还有专用的总线。POwer VR 也是一样的。  同时代的Gefore3 是先进内存的。这些学习的时候讲过。

其他的不知道了。
这位高人学什么的阿?
作者: yuqua    时间: 2006-12-30 22:09
这个是 计算机图形原理 讲过的。自考的课程啊。
作者: lxxtl    时间: 2006-12-30 22:16
原帖由 huoran 于 2006-12-30 22:09 发表
这个是 计算机图形原理 讲过的。自考的课程啊。
没学过。。见笑了。。

ps:还有人知道么,达人来做做科普阿
作者: heyunshong    时间: 2006-12-31 05:33
其实往哪里 load,看程序的设计

OGL 我不是很清楚,但是 D3D 在创建 Texture/Vertex/Index 得时候,可以指定系统管理 (MANAGED) 或者手动管理

手动管理的话,可以指定载入显存 (LOCAL MEMORY) 还是直接用内存(慢) (SYSTEM MEMORY)

在内存留一个 copy 得好处是当游戏切换出桌面在切换回去的时候可以数秒钟内很快复原,缺点是占用内存

只用显存不用内存的好处是节省了内存,但是坏处就是切换一下需要重新从硬盘载入纹理,顶点之类的数据,相当于重新 load 一次
作者: yz7326627    时间: 2006-12-31 05:36
更进一步讲,这就是 PC 作为一个多用途平台所要牺牲的地方

游戏机一次只运行一个独占全屏幕得游戏,根本没有 PC 上面全屏幕程序丢失焦点以后需要重新创建所有 GPU 资源得问题,所以在游戏机上的情况要简单很多
作者: zhao3mu4    时间: 2006-12-31 09:03
XGL 也是可以认为指定存储位置的:但是对于Geforce3 在大型纹理应用时一般用以下方式:

Geforce 3  系统主内存和显存的关系是 纹理由硬盘调入系统内存然后把存有纹理的内存地址写进 Geforce 3内核中的FIFO 队列,采用拉的方式把纹理信息转移到显存中。同时内存中开始构建下一部分纹理(如果需要的话)。

内存相当于纹理的二级缓存。这样既能够保证纹理调用速度,又能够在画面切换的时候最快的速度重建GUI.
作者: 307577977    时间: 2006-12-31 11:28
原帖由 Illuminati 于 2006-12-31 05:36 发表
更进一步讲,这就是 PC 作为一个多用途平台所要牺牲的地方

游戏机一次只运行一个独占全屏幕得游戏,根本没有 PC 上面全屏幕程序丢失焦点以后需要重新创建所有 GPU 资源得问题,所以在游戏机上的情况要简单很多
明白了 谢谢
作者: hxp8185    时间: 2006-12-31 14:18
研究这个东西,似乎显得很没有必要,是先载入内存还是载入显存,这个应该是DirectX来控制的,对于程序员是透明的,研究它有何意义?我写过dx程序,完全不需要我来控制显存和内存之间的交流。
作者: 204821    时间: 2006-12-31 19:39
原帖由 hunguqi 于 2006-12-31 14:18 发表
研究这个东西,似乎显得很没有必要,是先载入内存还是载入显存,这个应该是DirectX来控制的,对于程序员是透明的,研究它有何意义?我写过dx程序,完全不需要我来控制显存和内存之间的交流。
那就是你写的不多

如果你知道 D3D 有 device invalidate 事件的话,你就清楚程序是怎么透过 D3D API 来干涉 texture, vertex, index 等等的存放位置了
作者: songsongxiao    时间: 2006-12-31 20:56
编写程序需要尽量充分的利用硬件资源。如何利用系统内存和显存需要仔细的思考。




欢迎光临 热点科技 (http://www.itheat.com/activity/) Powered by Discuz! X3.2