游戏开发论坛

 找回密码
 立即注册
搜索
查看: 7420|回复: 17

在D3D窗口中渲染WINDOWS的基本控件是控件总是会闪烁?

[复制链接]

7

主题

21

帖子

62

积分

注册会员

Rank: 2

积分
62
发表于 2009-8-15 09:32:00 | 显示全部楼层 |阅读模式
在D3D窗口上加了个button控件,每次在渲染窗口时button控件总是会闪一下,如果不断渲染窗口,button控件闪得更厉害?
请问哪位高手知道原因的,能否给个解决的办法?

11

主题

650

帖子

651

积分

高级会员

Rank: 4

积分
651
发表于 2009-8-15 16:02:00 | 显示全部楼层

Re: 在D3D窗口中渲染WINDOWS的基本控件是控件总是会闪烁?

GDI与DX不能混用 就是这样……

59

主题

404

帖子

404

积分

中级会员

Rank: 3Rank: 3

积分
404
发表于 2009-8-15 17:17:00 | 显示全部楼层

Re: 在D3D窗口中渲染WINDOWS的基本控件是控件总是会闪烁?

自己做控件  或者使用cegui

2

主题

123

帖子

123

积分

注册会员

Rank: 2

积分
123
发表于 2009-8-16 10:30:00 | 显示全部楼层

Re: 在D3D窗口中渲染WINDOWS的基本控件是控件总是会闪烁?

闪烁是因为父窗口重画时,子窗口也需要重画,而GDI的绘制是不能使用D3D的后缓冲的。

解决的办法一般是如楼上说的自己绘制控件。用windows标准控件其实也行,但有限制:控件必须是绝对矩形边界(注意XP主题的按钮边界是圆角矩形)、不透明,有些情况下还不能是3D子窗口的子窗口,而要隶属于3D子窗口的上一级,以保证该区域被从3D子窗口上剪裁掉,这样3D刷新时就不会导致GDI刷新,也就不会闪了。

7

主题

21

帖子

62

积分

注册会员

Rank: 2

积分
62
 楼主| 发表于 2009-8-16 13:26:00 | 显示全部楼层

Re: 在D3D窗口中渲染WINDOWS的基本控件是控件总是会闪烁?

要怎样自己绘制控件呢?我还是不太明白

59

主题

404

帖子

404

积分

中级会员

Rank: 3Rank: 3

积分
404
发表于 2009-8-16 14:50:00 | 显示全部楼层

Re: 在D3D窗口中渲染WINDOWS的基本控件是控件总是会闪烁?

一个按钮 3 种状态  就是3张纹理

362

主题

3023

帖子

3553

积分

论坛元老

Rank: 8Rank: 8

积分
3553
发表于 2009-8-16 21:15:00 | 显示全部楼层

Re: 在D3D窗口中渲染WINDOWS的基本控件是控件总是会闪烁?

程序员的水平问题。不是微软的问题。

7

主题

21

帖子

62

积分

注册会员

Rank: 2

积分
62
 楼主| 发表于 2009-8-17 22:20:00 | 显示全部楼层

Re: Re: 在D3D窗口中渲染WINDOWS的基本控件是控件总是会闪烁?

instemast: Re: 在D3D窗口中渲染WINDOWS的基本控件是控件总是会闪烁?

程序员的水平问题。不是微软的问题。


请问楼上你有好的解决方法吗、

8

主题

284

帖子

296

积分

中级会员

Rank: 3Rank: 3

积分
296
QQ
发表于 2009-8-18 02:52:00 | 显示全部楼层

Re: 在D3D窗口中渲染WINDOWS的基本控件是控件总是会闪烁?

只须要更新你需要更新的窗口。

0

主题

243

帖子

357

积分

中级会员

Rank: 3Rank: 3

积分
357
发表于 2009-8-18 09:27:00 | 显示全部楼层

Re: Re: 在D3D窗口中渲染WINDOWS的基本控件是控件总是会闪烁?

instemast: Re: 在D3D窗口中渲染WINDOWS的基本控件是控件总是会闪烁?

程序员的水平问题。不是微软的问题。

你是指微软的程序员的问题么......
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-6-21 04:25

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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