|
 | ̤²ò·è |
 | ²ò·è |
 | Ää»ß |
 | ºï½üÍ×ÀÁ |
|
2008/3/13(Thu) 20:43:11|NO.14158
FPS¤ò¡¢¤Ï¤Æ¤Ê¥À¥¤¥¢¥ê¡¼¤Ç¸¡º÷¤¹¤ë¤È
>Frame Per Second¤Îά¡£Æ°²è¤Î¤Ê¤á¤é¤«¤µ¤òɽ¤¹»ØÉ¸¡£1Éô֤˲¿Ëç¤Î²èÁü¤òɽ¼¨¤·¤Æ¤¤¤ë¤«¤ò¼¨¤¹¡£
¤È¤¢¤ê¤Þ¤¹¡¥
#include "d3m.hsp"
repeat
title "1ÉÃ´Ö¤Ë fps:"+d3getfps()+" ²ó¥ë¡¼¥×(ɽ¼¨)¤·¤Æ¤¤¤Þ¤¹¡¥"+cnt
await 1
loop
¸ÇÄêFPS¤Ï¡ÖFPS¤Î¸ÇÄê¡×¤È¥°¥°¤ì¤Ð¿§¡¹½Ð¤Æ¤¤Þ¤¹¤¬¡¤³§¤µ¤ó¤Ï¤É¤Î¤è¤¦¤ÊÊýË¡¤ÇFPS¤ò¸ÇÄꤷ¤Þ¤¹¤«¡¥
¥ª¥ê¥¸¥Ê¥ë¤ä´ûÃΤÎʪ¤ò´Þ¤á¤´°Õ¸«¤ªÂÔ¤Á¤·¤Æ¤¤¤Þ¤¹¡¥
|
|
2008/3/14(Fri) 00:19:16|NO.14180
FPS£±£²£°¤Î¾ì¹ç¡¢
FPS£±£²£°°Ê¾å¤Ë¤Ê¤é¤Ê¤¤¤è¤¦¤Ë¡¢
GetSystemTime¤ò»È¤¤£¶£°/£±£²£°¤Î¥¿¥¤¥ß¥ó¥°¤ÇÉÁ²è¤¹¤ë¤è¤¦¤ËÄ´Àá
FPS£±£²£°°Ê²¼¤Ë¤Ê¤ë¾ì¹ç¡¢
̵»ë
|
|
2008/3/14(Fri) 09:01:15|NO.14197
>GetSystemTime¤ò»È¤¤£¶£°/£±£²£°¤Î¥¿¥¤¥ß¥ó¥°¤ÇÉÁ²è¤¹¤ë¤è¤¦¤ËÄ´Àá
¤½¤Î¾ì¹ç¤ÎÄ´Àá¤Ï await ¤Ç¹Ô¤¦¤È¤¤¤¦¤³¤È¤Ç¤·¤ç¤¦¤«¡¥
¤½¤ì¤Ë¤·¤Æ¤âGetSystemTime¤ò»È¤¦¤È¤¤¤¦¤Î¤Ï¶Ã¤¤Ç¤¹¡¥(timeGetTime¤«QueryPerformanceCounter¤·¤«»×¤¤É⤫¤Ð¤Ê¤«¤Ã¤¿)
|
|
2008/3/14(Fri) 12:35:09|NO.14199
°Ê²¼¤Î¤è¤¦¤Ê¥Þ¥¯¥í¤ÇFPS¤ò¸ÇÄꤷ¤è¤¦¤È»×¤¤¤Þ¤·¤¿¤¬¡¤¤¢¤Þ¤êÀºÅÙ¤¬¹â¤¯¤¢¤ê¤Þ¤»¤ó¡¥
await¤ÎÀºÅÙ¤¬1ms¤Ê¤Î¤Ç·×»»¾å¤ÎÃÍ¤È¸íº¹¤¬½Ð¤Æ¤·¤Þ¤¤¤Þ¤¹¡¥
¤½¤ì¤«¤é¥×¥í¥°¥é¥à¤Î¥ë¡¼¥×Ãæ¤Ë await 1 ¤òÃÖ¤¯¤À¤±¤Ç 64 FPS ¤·¤«½Ð¤Ê¤¤¤Î¤Ï¤Ê¤¼¤À¤í¤¦..¡¥
#include "d3m.hsp"
#define ctype limitFPS(%1, %2) 1000.0*%1/(%2*%2)
repeat
;
; ²¿¤é¤«¤Î½èÍý
;
repeat 10
color 255, 255, 255
boxf
loop
;
;
fps=d3getfps()
wt=limitFPS(fps, 32)
await wt
title "fps:"+fps+", wait:"+int(wt)
loop
FPS¤¬²¼¤¬¤ë¤È¸íº¹Î¨¤¬¾å¤¬¤Ã¤Æ¤·¤Þ¤¦¤Î¤Ç¤È¤³¤È¤ó¥×¥í¥°¥é¥à¤ò¹â®²½¤µ¤»¤ë¤«¡¤await¤ÎÀºÅÙ¤ò¤É¤¦¤Ë¤«¤·¤Æ¹â¤á¤é¤ì¤Ê¤¤¤«¤È¸¡Æ¤¤·¤Æ¤¤¤Þ¤¹¡¥
¤È¤ê¤¢¤¨¤º¤½¤Î¤¿¤á¤Î¥â¥¸¥å¡¼¥ë¤ò£±¤ÄÙϤ¨¤Þ¤·¤¿¡¤°ú¤Â³¤²¿¤«°Õ¸«¤ò¤ªÂÔ¤Á¤·¤Æ¤¤¤Þ¤¹¡¥
#module
#uselib "ntdll.dll"
#func ZwQueryPerformanceCounter "ZwQueryPerformanceCounter"
#uselib "kernel32.dll"
#func VirtualProtect "VirtualProtect" int,int,int,int
#defcfunc timer
/*
| ¡Ú³µÍסÛ
| ¥·¥¹¥Æ¥àµ¯Æ°»þ¤«¤é¤Î·Ð²á»þ´Ö¤òÉÃñ°Ì¥Þ¥¤¥¯¥íÉÃ¤Þ¤ÇÆÀ¤ë
*/
if(get_time==0) {
get_time=$83ec8b55,$458df8c4,$78bb50f8,$53123456,$345678b8,$dfd0ff12,$f875da2b,$c3c91bdd
ddim time, 1
lpoke get_time, 11, varptr(time)
lpoke get_time, 17, varptr(ZwQueryPerformanceCounter)
VirtualProtect varptr(get_time), length(get_time)*4, 0x40, varptr(res)
}
res=callfunc(res, varptr(get_time), 0)
return time
#global
offset_time=timer()
repeat
title ""+(timer()-offset_time)
await 1
loop

| |
|
2008/3/14(Fri) 21:18:14|NO.14217
Ê̤ËGetSystemTime¤È¤«¤Ï¤É¤¦¤Ç¤â¤¤¤¤¤Î¤Ç¤¹¤¬¡°¡°¡¨
½èÍý¤¬½Å¤±¤ê¤ã½èÍý¤¹¤ë¤Ê¡¢½èÍý¤¬Áᤱ¤ê¤ãÉé²Ù¤«¤±¤í¤Ã¤Æ¤³¤È¤Ç¤¹¡°¡°¡¨
#define fp 32
#include "d3m.hsp"
#define ctype limitFPS(%1, %2) 1000.0*%1/(%2*%2)
repeat
;
; ²¿¤é¤«¤Î½èÍý
;
//¥Ç¥Õ¥©¥ë¥ÈFPSÃͤè¤ê¤âÄ㤤
if fps<=fp{
redraw 0
repeat 10
color 255, 255, 255
boxf
loop
color
pos 0,0
mes "fps:"+fps+", wait:"+int(wt)
redraw 1
title "fps:"+fps+", wait:"+int(wt)
}else{
await wt
}
;
;
fps=d3getfps()
wt=limitFPS(fps, fp)
loop
|
|
2008/3/14(Fri) 23:04:05|NO.14233
As¤µ¤ó¥¹¥¯¥ê¥×¥È¤Þ¤ÇÍÆñ¤¦¤´¤¶¤¤¤Þ¤¹¡¥¶ñÂÎŪ¤ËFPS¤ÎÄ´ÀáÊýË¡¤¬Ê¬¤«¤ê¤Þ¤·¤¿¡¥
//¥Ç¥Õ¥©¥ë¥ÈFPSÃͤè¤ê¤âÄ㤤
if fps<=default_fps{
;¡
;½èÍý
}else{
;¢
await wt
}
¥×¥í¥°¥é¥à¤ò¼Â¹Ô¤·¤Æ¤ß¤¿¤È¤³¤í¡¤³Î¤«¤ËFPS¤ò¥Ç¥Õ¥©¥ë¥ÈÃͤËÀ©¸Â¤µ¤»¤ë¤È¤¤¤¦Ì̤ǤϤ褤ÊýË¡¤«¤â¤·¤ì¤Þ¤»¤ó¤¬¡¤È¢¤Ç¤Ï1Éô֤ˤ«¤«¤ë¥¦¥§¥¤¥È¤¬°ã¤¤¤¹¤®¤ÆFPS¤¬Íɤ餤¤Ç¤·¤Þ¤¤¤Þ¤¹¡¥
¥¦¥§¥¤¥È¤ò¶ÑÅù¤Ë¤¹¤ë¹©Éפ¬É¬ÍפΤ褦¤Ç¤¹¤¬¡¤¤Þ¤À½èÍý®ÅÙ¤Èawait¤ÎÀºÅÙ¤ËÌäÂ꤬¤¢¤ë¤è¤¦¤Ç¤¹¡¥
#define fp 25
#include "d3m.hsp"
#define ctype limitFPS(%1, %2) 1000.0*%1/(%2*%2)
repeat
;
; ²¿¤é¤«¤Î½èÍý
;
//¥Ç¥Õ¥©¥ë¥ÈFPSÃͤè¤ê¤âÄ㤤
if fps<=fp{
redraw 0
repeat 10
color 255, 255, 255
boxf
loop
color
pos 0,0
mes "fps:"+fps+", cnt:"+cnt
redraw 1
title "fps:"+fps+", wait:"+int(wt)
}else{
await wt
}
;
;
fps=d3getfps()
wt=limitFPS(fps, fp)
loop
await¤Î¸íº¹¤ò·×¬¤·¤ÆÅý·×Ū¤Ë¥¦¥§¥¤¥È¤ÎÀºÅÙ¤ò¹â¤á¤é¤ì¤Ê¤¤¤«¸¡Æ¤¤·¤Æ¤ß¤Þ¤¹¡¥
|
|
2008/3/14(Fri) 23:47:43|NO.14237
FPS¤Î·×¬´Ö³Ö¤òºÙ¤«¤¯¤¹¤ì¤Ð¡¤¥¦¥§¥¤¥È¤Î¤«¤«¤ê¤¹¤®¤Ë¤è¤ëFPS¤ÎÍɤ餮Åù¤Ï·Ú¸º¤µ¤ì¤ë¤Ï¤º¤Ê¤Î¤ÇFPS¤ò100msÉÃËè¤Ë·×¬¤¹¤ë¤è¤¦¤Ë¤·¤Æ¤ß¤Þ¤·¤¿¡¥
#module "bkfps"
#uselib "ntdll.dll"
#func ZwQueryPerformanceCounter "ZwQueryPerformanceCounter"
#uselib "kernel32.dll"
#func VirtualProtect "VirtualProtect" int,int,int,int
#defcfunc timer
/*
| ¡Ú¥·¥¹¥Æ¥àµ¯Æ°»þ¤«¤é¤Î·Ð²á»þ´Ö¤ò1ÉÃñ°Ì¥Þ¥¤¥¯¥íÉäÎÀºÅÙ¤ÇÆÀ¤ë¡Û
*/
if(get_time==0) {
get_time=$83ec8b55,$458df8c4,$78bb50f8,$53123456,$345678b8,$dfd0ff12,$f875da2b,$c3c91bdd
ddim time, 1
lpoke get_time, 11, varptr(time)
lpoke get_time, 17, varptr(ZwQueryPerformanceCounter)
VirtualProtect varptr(get_time), length(get_time)*4, 0x40, varptr(res)
}
res=callfunc(res, varptr(get_time), 0)
return time
#defcfunc getfps
/*
| ¡ÚFPS¤ò¼èÆÀ¤¹¤ë¡Û
*/
if(get_fps==0) {
get_fps.0=$53ec8b55,$08758b56,$463b068b,$892f7404,$d2330446,$b9085689,$0000000a,$834bd88b
get_fps.8=$548b3fe3,$56010c9e,$b9f3e208,$00000028,$d233d88b,$3fe38343,$0c9e5489,$e083f6e2
get_fps.16=$8644ff3f,$08468b0c,$c3c95b5e
VirtualProtect varptr(get_fps), length(get_fps)*4, 0x40, varptr(res)
dim structFPS, 67
prm=varptr(structFPS)
}
structFPS=int(timer()*10)
return callfunc(prm, varptr(get_fps), 1)
// ¥ë¡¼¥×¤ÎÀèÆ¬¤ËÄêµÁ(limitFPS¤ò»È¤¦¾ì¹ç)
#define global limitEntryFPS offset_time=timer()
// FPS¤ò¸ÇÄꤹ¤ë¤¿¤á¤Î¥¦¥§¥¤¥È¤òÊÖ¤¹
#define global ctype limitFPS(%1, %2) 1000.0*(double(%1)/(%2*%2)+offset_time-timer())
;1000.0*(double(%1)/(%2*%2) + offset_time-timer() ¡Ý await¤Î¸íº¹)
; limitFPS(fps, fmax)
; fps : FPSÃÍ
; fmax : À©¸Â¤¹¤ëÃÍ
#global
#define fp 25
repeat
limitEntryFPS
fps=getfps()
;
; ²¿¤é¤«¤Î½èÍý
;
//¥Ç¥Õ¥©¥ë¥ÈFPSÃͤè¤ê¤âÄ㤤
if fps<=fp{
redraw 0
repeat 10
color 255, 255, 255
boxf
loop
color
pos 0,0
mes "fps:"+fps+", cnt:"+cnt
redraw 1
title "fps:"+fps+", wait:"+int(wt)
}else{
wt=limitFPS(fps, fp)
await wt
}
loop
¸ú²Ì¤Ï¤¢¤Þ¤êÆÀ¤é¤ì¤Þ¤»¤ó¤Ç¤·¤¿¤¬¾¯¤·¤Ï¤è¤¯¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡¥

| |
|
2008/3/14(Fri) 23:56:06|NO.14239
¥¦¥§¥¤¥È¤Î°ÌÃÖ¤ò¥°¥í¡¼¥Ð¥ë¤ËÊѤ¨¤¿¤é°ÂÄꤷ¤¿¤ß¤¿¤¤¤Ç¤¹¡£
¤¿¤À¡¢µ¬Äê¤ÎFPSÃͤȼºݤÎFPSÃͤ¬°ã¤¦¤Î¤Ç¤¹¤¬¡¦¡¦
#define fp 40
#include "d3m.hsp"
#define ctype limitFPS(%1, %2) 1000.0*%1/(%2*%2)
repeat
;
; ²¿¤é¤«¤Î½èÍý
;
//¥Ç¥Õ¥©¥ë¥ÈFPSÃͤè¤ê¤âÄ㤤
if fps<=fp{
redraw 0
repeat 10
color 255, 255, 255
boxf
loop
color
pos 0,0
mes "fps:"+fps+", cnt:"+cnt
redraw 1
title "fps:"+fps+", wait:"+int(wt)
}
;
;
fps=d3getfps()
wt=limitFPS(fps, fp)
await wt
loop
|
|
2008/3/15(Sat) 02:24:18|NO.14246
As¤µ¤óÊÖ»ö¤É¤¦¤âÍÆñ¤¦¤´¤¶¤¤¤Þ¤¹¡¥²ò·è¤·¤Þ¤·¤¿¡ª
>¥¦¥§¥¤¥È¤Î°ÌÃÖ¤ò¥°¥í¡¼¥Ð¥ë¤ËÊѤ¨¤¿¤é°ÂÄꤷ¤¿¤ß¤¿¤¤¤Ç¤¹¡£
>¤¿¤À¡¢µ¬Äê¤ÎFPSÃͤȼºݤÎFPSÃͤ¬°ã¤¦¤Î¤Ç¤¹¤¬¡¦¡¦
FPS¤¬µ¬Äê¤Ë¹ç¤ï¤Ê¤«¤Ã¤¿¤Î¤Ï¡¤
¡¡¡limitFPS(%1, %2) 1000.0*(double(%1)/(%2*%2) + offset_time-timer() - await¤Î¸íº¹)
¤Çawait¤Î¸íº¹¤ò´Þ¤á¤Ê¤¤Ê¬ ¡Öoffset_time-timer() ¡Ý await¤Î¸íº¹¡×¤ò0¤È¤ß¤Ê¤·
¢¡¡limitFPS(%1, %2) 1000.0*%1/(%2*%2)
¤È¤·¤Æ¤¤¤¿¤Î¤¬¸¶°ø¤Ç¤¹¡¥
¡¡¼ÂºÝ¤³¤ì¤Ç¤¢¤ëÄøÅÙÆ°¤¤¤Æ¤¤¤¿¤Î¤Ç¢¤Ï¡¡offset_time-timer()¡áawait¤Î¸íº¹
¤¬¤¦¤Þ¤¯À®¤êΩ¤Ã¤Æ¤¤¤ë¤È»×¤Ã¤Æ¤¤¤¿¤Î¤Ç¤¹¤¬¡¤¤È¤ó¤À´ª°ã¤¤¤ò¤·¤Æ¤¤¤Þ¤·¤¿¡¥
¥¦¥§¥¤¥È¤ÎÃͤò·×»»¤·¤¿¸åloopÌ¿Îᤫ¤érepeatÌ¿Îá¤Ë°Ü¤ë´Ö¤Ètimer()´Ø¿ô¤ò¸Æ¤Ó½Ð¤¹´Ö¤Î»þ´Ö¤ò̵»ë¤·¤Æ¤¤¤Þ¤·¤¿£÷£÷£÷
¤Ç¡¢¤³¤ì¤ò¦Á¤È¤¹¤ë¤È¢¤Ï
¡¡offset_time¡Ýtimer()¡Ýawait¤Î¸íº¹¡Ý¦Á¡á£°
¤¬À®¤êΩ¤Ã¤Æ¤¤¤¿¤È¤¤Î·×»»¼°¤Ç¤¹¤Í¡¥¦Á¤ò¬Äꤷ¤Æ¤¤¤ì¤Ðawait¤Î¸íº¹¤âʬ¤«¤ë¤Î¤Ë..¡¥¤È¤ó¤À¸«Íî¤È¤·¤ò¤·¤Æ¤¤¤Þ¤·¤¿orz
|
|
2008/3/15(Sat) 02:43:32|NO.14247
»²¹Í¤Þ¤Ç¤Ë¤³¤ó¤Ê¤Î¤â¡£·ê¤¬¤¢¤ë¤±¤É¡£
#define fp 33
#include "d3m.hsp"
#const BASEWAIT 1000.0 / fp
basetime = d3timer()
skip = 0
repeat
;
; ²¿¤é¤«¤Î½èÍý
;
fps = d3getfps()
targettime = basetime + BASEWAIT * cnt
//¥Ç¥Õ¥©¥ë¥ÈFPSÃͤè¤ê¤âÄ㤤
if ( d3timer() < targettime ) {
redraw 0
repeat 10
color 255, 255, 255
boxf
loop
color
pos 0,0
mes "fps:"+fps+", cnt:"+cnt + ", skip:" + skip
redraw 1
title "fps:"+fps
repeat
await 1
if ( d3timer() >= targettime ) : break
loop
} else {
skip++
await 1
}
loop
|
|
2008/3/15(Sat) 13:14:37|NO.14271
naznyark¤µ¤óÍÆñ¤¦¤´¤¶¤¤¤Þ¤¹¡¥
>»²¹Í¤Þ¤Ç¤Ë¤³¤ó¤Ê¤Î¤â¡£·ê¤¬¤¢¤ë¤±¤É¡£
»þ´Ö¤Ï°ìÄê¤Ë²á¤®¤ë¤Î¤Ç½èÍý»þ´Ö¤òÀ©¸Â¤·¤Æ¸ÇÄêFPS¤òºî¤ê½Ð¤¹¤Î¤Ç¤¹¤«..¡¥
»þ´Ö¤¬²á¤®¤ë®¤µ¤è¤ê¤â¥×¥í¥°¥é¥à¤¬Áö¤ë®¤µ¤¬¤º¤Ã¤È¾å²ó¤Ã¤Æ¤¤¤ë¤È¤¤Ï¤È¤Æ¤âFPS¤Ï°ÂÄꤷ¤Æ¤¤¤Þ¤¹¡¥¼ÂºÝ¤Ë¤³¤³¤Þ¤Ç°ÂÄꤹ¤ë¤Î¤«¤È¶Ã¤¤Þ¤·¤¿¡¥¤È¤Æ¤â»²¹Í¤Ë¤Ê¤ê¤Þ¤¹¡¥
¡¡¥¹¥¥Ã¥×̵¤·¤ÎÊýË¡¤Ç¤Ï¤³¤ó¤Ê´¶¤¸¤Ë¤Ê¤ê¤Þ¤·¤¿¡¥
#module "bkfps"
#uselib "ntdll.dll"
#func ZwQueryPerformanceCounter "ZwQueryPerformanceCounter"
#uselib "kernel32.dll"
#func VirtualProtect "VirtualProtect" int,int,int,int
#defcfunc timer
/*
| ¡Ú¥·¥¹¥Æ¥àµ¯Æ°»þ¤«¤é¤Î·Ð²á»þ´Ö¤ò1ÉÃñ°Ì¥Þ¥¤¥¯¥íÉäÎÀºÅÙ¤ÇÆÀ¤ë¡Û
*/
if(get_time==0) {
get_time=$83ec8b55,$458df8c4,$78bb50f8,$53123456,$345678b8,$dfd0ff12,$f875da2b,$c3c91bdd
ddim time, 1
lpoke get_time, 11, varptr(time)
lpoke get_time, 17, varptr(ZwQueryPerformanceCounter)
VirtualProtect varptr(get_time), length(get_time)*4, 0x40, varptr(res)
}
res=callfunc(res, varptr(get_time), 0)
return time
#defcfunc getfps
/*
| ¡ÚFPS¤ò¼èÆÀ¤¹¤ë¡Û
*/
if(get_fps==0) {
get_fps.0=$53ec8b55,$08758b56,$463b068b,$892f7404,$d2330446,$b9085689,$0000000a,$834bd88b
get_fps.8=$548b3fe3,$56010c9e,$b9f3e208,$00000028,$d233d88b,$3fe38343,$0c9e5489,$e083f6e2
get_fps.16=$8644ff3f,$08468b0c,$c3c95b5e
VirtualProtect varptr(get_fps), length(get_fps)*4, 0x40, varptr(res)
dim structFPS, 67
prm=varptr(structFPS)
}
structFPS=int(timer()*10)
return callfunc(prm, varptr(get_fps), 1)
// ¥ë¡¼¥×¤ÎÀèÆ¬¤ËÄêµÁ(WaitOflimitFPS¤ò»È¤¦¾ì¹ç)
#define global limitEntryFPS offset_time=timer()
// FPS¤ò¸ÇÄꤹ¤ë
#define global WaitOflimitFPS(%1, %2) _wait@bkfps=1000.0*(double(%1)/(%2*%2)+offset_time-timer()):\
offset_time=timer()+_wait@bkfps/1000.0 : await _wait@bkfps
; WaitOflimitFPS fps, fmax
; fps : FPSÃÍ
; fmax : À©¸Â¤¹¤ëÃÍ
#global
#define FPSMAX 33
limitEntryFPS
repeat
;
; ²¿¤é¤«¤Î½èÍý
;
redraw 0
color 255, 255, 255
boxf
color
pos 0, 0
mes "cnt:"+cnt
redraw
title "FPS¤ò"+FPSMAX+"¤Ë¸ÇÄê fps:"+fps
;
;
fps=getfps()
WaitOflimitFPS fps, FPSMAX
;
; ²¿¤é¤«¤Î½èÍý
;
wait 1
loop

| |
|