游戏开发论坛

 找回密码
 立即注册
搜索
查看: 7537|回复: 15

为什么光一个fopen要耗16,or 40ms的时间,小妹裸体床上等待

[复制链接]

21

主题

230

帖子

230

积分

中级会员

Rank: 3Rank: 3

积分
230
发表于 2006-6-23 18:46:00 | 显示全部楼层 |阅读模式
代码如下:


int _tmain(int argc, _TCHAR* argv[])
{
        if( argc != 2 ) return 1;

        unsigned a=GetTickCount();
        FILE *f=fopen(argv[1],"rb");
        if(f){
        printf("t%u\n",GetTickCount()-a);
        fclose(f);
        }

        getchar();
        return 0;
}

我测试了一些文件,尤其是操作刚刚加载的时候,更容易得到这个时间。

我测试游戏的时候发现光fopen一个文件就耗了40ms.时间SUPER长。

我猜想是windows没缓存这个东西的缘故。

我不清楚这个东西对游戏影响大不大。我想提高加载速度。
如果每个文件的FOPEN都要我用掉116ms很麻烦。
我不知道是文件目录的问题还是WINDOWS多读了点东西。还是WINDOWS刚启动的时候,然后过一阵子就会好起来。
还是只要在游戏目录里面再加载一些东西,就其他的文件都会快起来

89

主题

4036

帖子

4132

积分

论坛元老

Rank: 8Rank: 8

积分
4132
发表于 2006-6-23 19:21:00 | 显示全部楼层

Re:为什么光一个fopen要耗16,or 40ms的时间,小妹裸体床上等

你的程序和你的提问方式一样进水......

89

主题

4036

帖子

4132

积分

论坛元老

Rank: 8Rank: 8

积分
4132
发表于 2006-6-23 19:23:00 | 显示全部楼层

Re:为什么光一个fopen要耗16,or 40ms的时间,小妹裸体床上等

有你这样做性能测试的吗. 你还是先去看看timer的函数先. 连基本I/O需要注意的问题以及Windows那几个timer相关的函数都没弄清楚, 还裸体呢 . ... 也不怕吓到谁

54

主题

2916

帖子

3765

积分

论坛元老

Rank: 8Rank: 8

积分
3765
QQ
发表于 2006-6-23 21:17:00 | 显示全部楼层

Re: 为什么光一个fopen要耗16,or 40ms的时间,小妹裸体床上

40ms在“NowLoading”的时候算不了什么无所谓的啦、、、

女性干程序的可不多大都是做美工的,即便有通常也不好看所以请不要用这种标题,谢谢 [em8]。

30

主题

569

帖子

569

积分

高级会员

Rank: 4

积分
569
发表于 2006-6-23 21:33:00 | 显示全部楼层

Re:为什么光一个fopen要耗16,or 40ms的时间,小妹裸体床上等

  TNND 一看就是假女人。
  fopen跟send都是I/0函数。WINDOWS有5种I/0模式,只要你愿意,可以用完成端口实现打开文件。
  40ms可能是丛硬盘读取文件基本信息的时间,用fopen就是等待硬盘,可以用WINDOWS的标准文件函数,投递一个重叠I/O。在这段时间可以把时间片让给别的线程,这样你就不会受到什么性能损失了。

24

主题

256

帖子

267

积分

中级会员

Rank: 3Rank: 3

积分
267
发表于 2006-6-24 07:57:00 | 显示全部楼层

Re:为什么光一个fopen要耗16,or 40ms的时间,小妹裸体床上等

TNND 一看就是假女人。
===========================
来这是骗同情吧。

21

主题

230

帖子

230

积分

中级会员

Rank: 3Rank: 3

积分
230
 楼主| 发表于 2006-6-24 11:50:00 | 显示全部楼层

Re:为什么光一个fopen要耗16,or 40ms的时间,小妹裸体床上等

huawenguang 是个可怜虫吧。。。。。555555~~~~~~

我换个函数=PathFileExists测试了一下。和fopen不同。不过有时也会有这样的问题。

我想了一下,把游戏资源打包效率应该高一点。就只有一个文件,用个HASHTABLE就可以了。不过我不知道WINDOWS是怎么出来目录结构的。目录结构是怎么存储的。缓存目录路径应该有。

本来是这样的:
我要测试图片加载的效率。然后 上层做了一个文件是不是已经存在的判断,用的是fopen函数,结果,后面的程序打开这个文件的时间就变的非常短了。就是没超过1ms.可能换个函数也是这样的结果。


我想如果把资源文件打包效率要高。然后更好控制。

21

主题

230

帖子

230

积分

中级会员

Rank: 3Rank: 3

积分
230
 楼主| 发表于 2006-6-24 20:11:00 | 显示全部楼层

Re:为什么光一个fopen要耗16,or 40ms的时间,小妹裸体床上等

griffin2006
Exp:290

下士
偶都不虾说你了。

89

主题

4036

帖子

4132

积分

论坛元老

Rank: 8Rank: 8

积分
4132
发表于 2006-6-24 20:42:00 | 显示全部楼层

Re:为什么光一个fopen要耗16,or 40ms的时间,小妹裸体床上等

很想知道,这个假女人到底有多自大.....

4

主题

19

帖子

19

积分

新手上路

Rank: 1

积分
19
发表于 2006-6-25 01:34:00 | 显示全部楼层

Re:为什么光一个fopen要耗16,or 40ms的时间,小妹裸体床上等

不用吧,你是不是有读和写的动作?
如果你的游戏帧率不需要太高的话16--40ms,也是可以接受的。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-1-24 21:48

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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