有关DirectX 或Win32 编程的问题

wlpwind 2001-05-14 09:31:00
我用vc编的一个Directx游戏程序(win32 Application),在自己的电脑上运行速度正常,
在别人的电脑上反应速度奇慢,而且运行期间整个windows系统都几乎停止响应,请问解决的办法.
程序中两个主要函数如下:
int PASCAL WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,
LPSTR lpCmdLine, int nCmdShow)
{
MSG msg;

//初始化主窗口
hWnd=InitWindow( hInstance, nCmdShow ) ;
if (hWnd == NULL )
return FALSE;
//初始化DirectDraw环境,并实现DirectDraw功能
if (!InitDDraw())
{
MessageBox(GetActiveWindow(), "初始化DirectDraw过程中出错!请检查你是否正确的安装了DirectX。", "Error", MB_OK );
FreeDDraw();
return FALSE;
}
while(1)
{
if(PeekMessage(&msg, NULL, 0, 0, PM_NOREMOVE))
{
if(!GetMessage(&msg, NULL, 0, 0 )) return msg.wParam;
TranslateMessage(&msg);
DispatchMessage(&msg);
}
else if(bActive)Flip();

else WaitMessage();
}
}
LRESULT CALLBACK WinProc( HWND hWnd, UINT message,
WPARAM wParam, LPARAM lParam )
{ int x=1;
switch( message )
{
case WM_success:
MessageBox(hWnd,"SUCCESS!!","congratulation",NULL);
if(automap)changefile();
break;
case WM_ACTIVATEAPP:
bActive=wParam;
break;
case WM_KEYDOWN://击键消息
............
break;

case WM_DESTROY://退出消息
FreeDDraw();//释放所有DirectDraw对象
PostQuitMessage( 0 );
break;
}

//调用缺省消息处理过程
if((message!=WM_CLOSE)||(MessageBox(hWnd,"你确认要退出游戏 么?","???",MB_OKCANCEL)==IDOK))
return DefWindowProc(hWnd, message, wParam, lParam);
}

...全文
44 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
wlpwind 2001-05-14
  • 打赏
  • 举报
回复
不是显卡问题.
甚至别人显卡更好都是如此
Neo2D 2001-05-14
  • 打赏
  • 举报
回复
显卡太差就会很慢
一个windows下的c编译器  许多象云风这样的业余游戏设计者, 从 DOS 下转到 Win95 环境编程都有些不习惯. 仿佛我们再也找不到一套象 DOS 下 DJGPP 那样的免费开发环境了 :-( Visual C++ 5.0 的高昂价格不是我们这些业余爱好者所承受的起的, 即使使用盗版, 心里也就有那么一丝不快, 哪像 DOS 下那样我们能自由的摆脱 M$ 的控制啊.   但现在, 一个完全支持 Win95 的 Free C 诞生了, 它就是 Lcc-Win32. 虽然, 以前我们同样可以使用 Djgpp 编译 Win95 的程序, 但是使用过的朋友都知道 那是多么的不方便. 而 Lcc-Win32 则完全为 Win95 设计 (虽然也可以编写 Dos 程序), 拥有完备的开发工具. 如资源编辑器, 程序生成向导, Grep, Diff 等, 且它的集成环境 WEdit 也非常的方便, 界面比 VC5 简洁的多, 不会使新手眼花缭乱, 而功能却不弱, 体积非常的小,这点我喜欢. 加载, 调试程序, 编译程序, 在我的机上感觉速度比 VC5 要爽多了 :-D 而且还有我们熟悉的命令行方式可以选择使用.   Lcc-Win32 最大的问题可能就是它不支持 C++, 而对我们这些业余游戏设计者来说, 仿佛不是个问题了 ;-) 至今还有很多人讨论, 编写游戏程序需要用 C++ 吗? 而我个人是偏爱 C 的. 用 C 写出的程序往往有更高的效率. 既然谈到了游戏程序的编写, 再给您一个振奋的消息, 虽然 Lcc-Win32 已经自带了 DirectX 的开发库, 但一个专为 Lcc-Win32 设计的 DirectX 开发包 RedX 已经诞生了, 拥有 RedX, 对于从 DOS 转过来的游戏程序员是一个福音, 我们可以按照 DOS 下编写游戏的观念写出 100% DirectX 兼容的 Game 了, 帮您迅速跨入 Win95 时代!   看了以上这些, 也许您已经迫不及待的叫嚷着:"我要 Lcc-Win32!!!" Ok, 不耽误您的时间,快去!

8,301

社区成员

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

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