|
RT...附带一个问题,glut的
- unsigned __int64 cpucycle;
- FILE* fp;
- __declspec (naked) unsigned __int64 GetCpuCycle( void )
- {
-     _asm
-     {
-         rdtsc
-             ret
-     }
- }
- void keyboard(unsigned char key,int x,int y)
- {
-     if (cpucycle != 0)
-     {
-         cpucycle = GetCpuCycle() - cpucycle;
-         fprintf(fp,"%I64d\n",cpucycle);
-     }
-     cpucycle = GetCpuCycle();
- }
- void setup(void)
- {
-     fp = NULL;
-     fp = fopen("test.txt", "a");
-     if (fp == 0)
-         exit(0);
-     cpucycle = 0;    
-     glClearColor(0, 0, 0, 0);
-     glMatrixMode(GL_PROJECTION);
-     glLoadIdentity();
-     glOrtho(-400, 400, -300, 300, -100, 100);
-     glMatrixMode(GL_MODELVIEW);
-     glLoadIdentity();
- }
复制代码
问一个问题。
我的cpu是 T2300 双核 1.66GHZ  那么 一秒钟时间戳 差值 是 1 660 000 000 没错吧?
那么这个程序 执行起来之后 ,我按住“A”键,没有其他任何操作.
写进文本的数字 都是在 55 000 000左右。。
换算一下大概30ms。。。如果我想让游戏 60帧  那么 每帧应该间隔 大概 17或16ms。。这样的话,岂不是两帧 才响应一次键盘输入? |
|