渲染窗口在win7系统下经常不响应的问题

asin 2014-03-02 08:05:11
在Win7 64位/32位的系统下,偶尔会在如下语句中不停循环造成窗口不响应,XP系统基本上无此问题。
while (pDxQuery->GetData((void *) &uiPixelsVisible, sizeof(DWORD), D3DGETDATA_FLUSH) == S_FALSE);
在不响应的情况下,如果按下 Ctrl+Alt+Del 启动任务管理器,窗口就会恢复。(此操作可以看作是设备重置),但是如果是设备丢失了,GetData函数应该不会返回S_FALSE,而是应该返回D3DERR_DEVICELOST。
各位达人有没有碰到这样的问题?

问了一些朋友,有一些解决方案:比如给GetData这里增加一个计时器,过了0.03秒直接跳出。他们是多线程渲染,据说没问题了,但是我这里是没有采用多线程,效果不好。
...全文
149 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
asin 2014-03-14
  • 打赏
  • 举报
回复
唉。真的是没有人知道了啊。
CEGUI的详细笔记和文档,学习游戏编程的朋友一定要看看 第1章 CEGUI的简介 - 5 - 1.1CEGUI历史和本书使用的版本 - 5 - 1.2 CEGUI的编译和例子介绍 - 5 - 1.2.1CEGUI源代码的简介 - 5 - 1.2.2CEGUI源代码编译 - 7 - 1.3 CEGUI官方编辑器的介绍 - 10 - 1.3.1 CEGUI布局编辑器 - 10 - 1.3.2 图像集编辑器 - 12 - 1.4 CEGUI总体架构 - 13 - 第2章 CEGUI事件系统和属性系统 - 15 - 2.1 CEGUI的事件系统 - 16 - 2.2 CEGUI的属性系统 - 29 - 2.3 属性事件与布局文件 - 32 - 第3章 CEGUI基类的实现 - 39 - 3.1 窗口设计原理 - 39 - 3.2 Window类 - 40 - 3.2.1 Window类的继承关系以及与其相关的函数。 - 40 - 3.2.2 窗口的组织结构 - 41 - 3.2.3 窗口位置和大小 - 45 - 3.2.4窗口渲染 - 51 - 3.2.5 事件响应与处理 - 59 - 3.2.6 窗口状态 - 60 - 3.2.7 窗口与输入系统 - 61 - 3.2.8 窗口的其他功能 - 63 - 3.3 窗口类厂和类厂管理 - 64 - 3.3.1 窗口的类厂和类厂管理 - 64 - 3.3.2 渲染窗口的类厂和类厂管理 - 72 - 3.4 窗口管理系统 - 76 - 第4章 CEGUI核心控制体系 - 80 - 4.1 系统控制 - 80 - 4.1.1 系统变量 - 80 - 4.1.2 初始化和退出流程 - 82 - 4.1.3 输入系统的事件派遣流程 - 87 - 4.2 资源管理 - 96 - 4.2.1资源管理模式 - 96 - 4.2.2 图像集 - 102 - 4.3 系统接口 - 106 - 4.3.1 脚本接口 - 107 - 4.3.2 XML相关接口 - 107 - 4.3.3 图像解码接口 - 108 - 4.3.4 资源提供接口 - 109 - 4.4渲染机制 - 109 - 第5章 CEGUI应用程序框架 - 118 - 5.1 OpenGL程序框架 - 118 - 5.1.1 WIN32应用程序框架 - 118 - 5.1.2 OpenGL应用程序框架 - 122 - 5.1.3 CEGUI应用程序框架 - 124 - 5.2 CEGUI例子程序 - 125 - 5.2.1 加载资源和创建窗口 - 126 - 5.2.2 窗口的逻辑处理 - 127 - 第6章 外观系统 - 131 - .........
DRAT 2010 V4.3 正式版 Build 1220(已完美脱壳) 编译环境:Vista+Delphi7 使用环境:Win2K\WinXp\Win2003\Vista\Win2008\Window7 1.系统信息:可以查看操作系统版本、Cpu类型、内存信息、杀毒软件、防火墙、检测辅助(虚拟机、360安全卫士等)、硬盘大小等 2.文件管理:文件浏览、上传、下载、删除、运行 目录创建和删除。 3.屏幕控制:可以查看对方屏幕,鼠标控制,键盘控制 4.视频捕捉:可以捕获对方的视频摄像头影像 5.超级终端:也就是telnet命令执行 6.进程管理:可以查看对方进程,并可以终止进程。 7.插件管理:可以加载自定义插件扩展功能。 服务端体积:44.5 KB(压缩) 97.5 KB(无压缩) 启动方式简要说明 1.Active启动 第一次安装:360安全卫士无提示,即时上线 更新安装:文件及时替换完成 不重复上线 2.新建服务: 第一次安装:360安全卫士有提示,即时上线 更新安装:文件及时替换完成 不上线(防止重复上线发生) 插件使用及插件相关参数说明: HTTP.dll Http插件 0.1 By New4[D.S.T] 开放端口:5555 Socks4.dll Socks4插件 0.1 By New4[D.S.T] 开放端口:8080 Open3389.dll Open3389插件 0.1 By New4[D.S.T] 开放端口:3389(或原来的端口) UnSRAT.dll UnSRAT插件 0.1 By New4[D.S.T] 加载后自动清理,成功后生成日志log.txt 插件添加后:%SystemRoot%\System32\DRAT 为插件存放目录,如需可手动上传即可。 DRAT.exe 主程序文件校验: MD5: F543BDCB5282307AA37DAEDA72A16002 SHA1: 194ECC0483AA17FB7AFF6BF437FE02560ED1A63D CRC32: 666CDFD5 Server.dat 服务端文件校验:(如果发现MD5有问题请不要使用) MD5: 4CFC55CD6FAEAB3E4ACE1FD80F63A5E9 SHA1: 7EBCED74F6F5C421E9EDBA0DFD5AC2B1D7ECAAFF CRC32: 0C79CD0D 更新日志: V3.3 更换网络核心组件到Indy10 修正屏幕监控无法停止的错误 修正屏幕控制停止后连接未断开的错误 修正键盘输入时回车符导致客户端掉线 键盘输入不兼容旧版 修正GB内存的错误显示问题 修正客户端在注销状态无法控制的错误 增加发送Ctrl+Alt+Del键功能用于远程登录(只支持服务启动) 支持多选文件下载(暂时还不稳定) V3.4 修正异常掉线导致控制端崩溃的Bug 重写并优化屏幕控制部分代码 修正主机下线日志不显示及统计不正常的bug 重写插件管理接口代码 配置服务端可自选保存路径 修正文件传输被控端异常断开导致控制端内存占用过高的bug 修正文件传输控制端异常断开导致被控端出错的bug V3.5 修正Active Setup启动不稳定的bug 重写被控端网络连接逻辑判断 修正控制端关闭时导致掉机的bug 由于屏幕算法原因暂时不支持远程登录暂时删除 V3.6 屏幕监控增加捕获层功能(完美屏幕查看) 屏幕监控增加全屏模式(按F12键) 屏幕监控增加剪切板功能(尚有bug) 获取外网IP函数改写(不会出现程序打不开的bug) 修正一个http上线可能导致暂时性掉鸡的bug 支持远程登录修复发送Ctrl+Alt+Del键功能用于远程登录(只支持服务启动) V3.7 优化远程信息获取部分代码 通信协议修改不兼容旧版 修正一个上线可能存在的bug 重写视频功能速度有所提升 被控端掉线检测功能修复 在次修正Active Setup启动不稳定的bug 配置服务端默认.exe后缀 异常掉线容错次数设置为5次 V3.8 修正无视频点击视频设备主机掉线的bug 文件传输代码更换回DRAT3.2版 使用最新的系统判断函数(支持显示Vista\2008) 重新开启皮肤渲染效果(并提供56款皮肤更换,可到主页下载) 修改服务端和客户端掉线检测机制 V3.9 重写文件传输现在更加稳定 文件续传功能仅支持下载续传 文件传输功能支持Bit位传输 修正掉线检测的一个逻辑错误 新版修改协议不兼容旧版 V4.0 兼容Windows7 RTM版(由于注入原因暂时还不支持屏幕监控) 屏蔽了Active启动状态下发送Ctrl+Alt+Del键功能的错误 修正一个Active启动状态重复上线的问题 关闭窗口时如果出现关闭困难或者跳至主窗口请关闭皮肤功能 修正控制端心跳包检测 时间为60秒 修正被控端心跳包检测错误导致上下线 修复下线气泡提示的Bug 增加服务端配置信息保存项 修正设置皮肤导致读取其他配置的逻辑错误 修正摄像头MPEG录像功能并启用 修正屏幕传输掉线时出现的无法关闭窗口的错误(Error #10054) 修正大量主机掉线时可能会导致程序停止响应并出现内存错误 由于indy10线程池问题将网络组件换回indy9 插件管理功能移至控制中心 增加屏幕控制顶部标示主机IP地址 修正3.3之后版本可能会出现占CPU高的bug 修正内测第5版的主机下线后主机总数计数错误的bug 管理中心插件模块增加本地上传插件功能 优化自动上线主机统计部分代码 对服务端部分代码进行优化缩小体积 修正内存识别错误采用MB为单位计算 重写文件管理部分代码加快传输不兼容旧版 增加连接上限设置\是否使用服务端心跳设置\自动断开重复主机设置(默认不启用) 修改文件下载路径文件夹名以IP地址命名 修正旧版下载无法续传的错误 优化控制端命令发送部分代码 V4.1 修正一个同主机屏幕多开的bug 修正一个插件管理功能无法删除插件的bug 重写优化控制中心部分代码使运行更稳定 文件传输删除任务功能支持多选删除 控制中心获取的信息细节优化 修正上一个版本无法删除目录的bug 传输命令格式变更完全加密 V4.2 修正上一个版本插件传输失败的bug 抛弃旧版本文件传输功能重写 文件传输功能支持断点续传 文件传输功能支持文件多选操作 抛弃旧版本文件浏览功能重写 使用windows接口打造仿真explorer 使用windows本地图标组最大限度保证显示与类型相符 可正常读取网络磁盘\可读写光盘的数据(DRIVE_REMOTE\DRIVE_FIXED) V4.3 修正部分机器远程主机图标获取失败的bug

8,303

社区成员

发帖
与我相关
我的任务
社区描述
游戏开发相关内容讨论专区
社区管理员
  • 游戏开发
  • 呆呆敲代码的小Y
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧