游戏开发论坛

 找回密码
 立即注册
搜索
查看: 3111|回复: 5

DirectX能不能建2个后备缓冲区啊?

[复制链接]

18

主题

67

帖子

73

积分

注册会员

Rank: 2

积分
73
发表于 2008-1-15 17:55:00 | 显示全部楼层 |阅读模式
我用DirectX9的D3D中的sprite来写游戏

游戏是用桌面为背景的,游戏渲染时,把背景和人物图像一起渲染了。。

DirectX能不能建2个后备缓冲区啊?我要把背景设为一个缓冲区(渲染的内容不变的,游戏开始时只加载渲染一次就行了,但是游戏继续玩下去时,图像还在),  游戏图像一个缓冲区(图像每帧都要渲染)


因为游戏每次渲染时都要把桌面图片这么大的图像渲染一次,吃太多的资源了。。我把背景去掉了,渲染帧数一下子就提升了一倍。。


能不能实现我的理想啊?如果能,请高手指教下大约什么做!!也请列出几条相关的重要程序,谢谢。

5

主题

11

帖子

11

积分

新手上路

Rank: 1

积分
11
发表于 2008-1-16 13:16:00 | 显示全部楼层

Re:DirectX能不能建2个后备缓冲区啊?

你在初始化的时候就加载图片,在渲染的时候用sprint调用就好了,不存在吃资源的情况啊

18

主题

67

帖子

73

积分

注册会员

Rank: 2

积分
73
 楼主| 发表于 2008-1-16 16:07:00 | 显示全部楼层

Re: Re:DirectX能不能建2个后备缓冲区啊?

m70668644: ReirectX能不能建2个后备缓冲区啊?

你在初始化的时候就加载图片,在渲染的时候用sprint调用就好了,不存在吃资源的情况啊


我是这么做的,我这里说的是渲染吃资源,渲染时没加上背景有100帧左右,加了只有40多左右

每帧都刷一次背景,太吃资源了...

5

主题

11

帖子

11

积分

新手上路

Rank: 1

积分
11
发表于 2008-1-16 16:50:00 | 显示全部楼层

Re:DirectX能不能建2个后备缓冲区啊?

建立两个缓冲区有什么用呢?刷到屏幕上的时候都要吃资源的啊,我还真没懂你建立两个缓冲区的意义在什么地方

18

主题

67

帖子

73

积分

注册会员

Rank: 2

积分
73
 楼主| 发表于 2008-1-21 10:32:00 | 显示全部楼层

Re:DirectX能不能建2个后备缓冲区啊?

就是第一个缓冲区初始化时刷到屏幕上,以后不再刷(但是图片以后一直是显示的),第二缓冲区每帧都刷,便是刷时不会破坏第一个缓冲区的图像

32

主题

1583

帖子

1589

积分

金牌会员

Rank: 6Rank: 6

积分
1589
发表于 2008-2-10 02:27:00 | 显示全部楼层

Re:DirectX能不能建2个后备缓冲区啊?

LZ没有搞清楚D3D做2D游戏的原理。

你不管怎么缓冲,不管是不是背景,在D3D里面只要显示在屏幕上,都需要DP,这个你避免不了的。

除非你背景需要多次绘制,那你可以建一个缓冲把它保存起来以后一次性绘制。不过不管怎么样,它每帧都必须绘制到屏幕上去的,不可能第一次绘制了之后就不用绘了。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-12-20 01:15

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表