ì�´íŽ˜ì�´ì§€ëŠ”? ¶
- 우리가 ë§Œë“ í”„ë¡œê·¸ëž¨ì�´ ì–´ë–¤ 하드웨어ì—�서ë�˜ì§€ ì�¼ì •한 ì†�ë�„로 ë�Œì•„가기를 ë°”ë�¼ëŠ” 경우가 있다. 특히 게임ì�„ 만드는 경우가 대표ì �ì�¸ 예ì�´ë‹¤. 그러한 경우 ì–´ë– í•œ í•´ê²°ì±…ì�´ 있는지 알아 ë³´ë©´ 좋ì�„ê±° 같다. 여기ì—� ê·¸ 해결책들ì�„ ì �ì–´ ë³´ê³ ìž˜ëª»ë�œ 방법ì�€ ê³ ì¹˜ê¸°ë�„ 하면서 좋ì�€ 방법ì�„ 찾으면 ì¢‹ê² ë‹¤.
사례 ¶
- 3DAlca프로ì �트ì—�서 ì�´ 게임ì�„ 펜티엄3 800 ì§€í�¬íЏ2 MX ì—�서 ë�Œë ¸ì�„때는 ì •ìƒ� ì†�ë�„로 게임ì�´ ë�Œì•„ 가는ë�° 펜티엄 4 1.8GA Raden 9000 pro ì—�서는 ê±°ì�˜ ì œì–´í• ìˆ˜ 없는 ì†�ë�„ê°€ 나온다.
í•´ê²°ì±… ¶
- 아래는 ì œê°€ 조사해본 ë‚´ìš©ì�¸ë�° ì¶”ìƒ�ì �ì�´ê±°ë“ ì—¬.. ì‹¤ì œ 사용예 ê°™ì�€ê±° 있으면 ìž�료 ì˜¬ë ¤ 주시면 ì¢‹ê² ìŠµë‹ˆë‹¤.
- Game ì�˜ Tick ì—� 해당ë�˜ëŠ” 함수를 idleì—� 넣지 ë§�ê³ íƒ€ì�´ë¨¸ë§ˆë‹¤ 화면 ê·¸ë ¤ì£¼ëŠ” 함수를 실행한다.
- ìŠ¤ë ˆë“œ & 1ì´ˆ ì‰¬ê³ (ì�´ê±´ HiPerformanceTimer ê´€ë ¨ 함수를 ì�´ìš©í•˜ëŠ” 방법)
- ìž‘ë�™í•˜ëŠ” ì†�ë�„를 피드백 받아서 í”„ë ˆìž„ì�„ 줄여 ì œìž‘í•œë‹¤
- 타�머를 �용해서 시간� 따� 움���� 한다.
- ì�´ê±¸ë¡œ í•´ê²° 봤습니다. MFCì—�서는 타ì�´ë¨¸ë¥¼ ì�¨ë´¤ëŠ”ë�° APIì—�서는 어떻게 쓰는지 몰ë�¼ì„œ 못했었는ë�°, ì •ì§�ì�´í˜•ì—�게 물어ë´�서 알게 ë�˜ì–´ì„œ 위 ë¬¸ì œë¥¼ í•´ê²°~
- hardware independent하게 게임ì†�ë�„를 ìœ ì§€í•˜ë ¤ë©´ ë§¤í”„ë ˆìž„ 그릴때마다 ì�´ì „í”„ë ˆìž„ê³¼ì�˜ 시간간격ì�„ 받아와서 거기ì—� velocity를 곱해 positionì�„ update하는 ì‹�으로 해야한다. 타ì�´ë¨¸ë¥¼ 하나 만들어 ë³´ìž�.
- ê¶�금한게 있는ë�°, MFCStudy_2001/MMTimer 로 안ë�œë‹¨ ë§�ì�´ì•¼? 가장 ë¹ ë¥¸ê±¸ë¡œ ì•Œê³ ìžˆì–´ì„œ, ë�™ìž‘ ì œì–´ëŠ” 타ì�´ë¨¸ë‹¨ì—�서 í•˜ê³ , loopì—�서 열심히 그림 ê·¸ë ¤ì„œ flipingë§Œ 해주면 ë�˜ì§€ 않ì�„까? ë‚®ì—�는 경황ì�´ 없어서, 그냥 멀티미디어 타ì�´ë¨¸ ì�´ì•¼ê¸°ë§Œ 했는ë�°, winamp ê°™ì�€ 시간ì—� ì�˜ì¡´ì �ì�¸ 프로그램들ë�„ ì�´ 타ì�´ë¨¸ë¥¼ 사용해서 ë§�ì�´ì§€. --neocoin
- 허허.. ì�¸ìŠ¤í†¨ ê³¼ì •ì—� 재컴파ì�¼ì�„ 넣으면 ë�˜ì§€ 않ì�„까
소스배�! 그것�야�로 남�(?)� 로�.. --zennith
- 비슷한건ë�°.. ìŠ¤ë ˆë“œì™€ timer 를 ê°™ì�´ ì�¨ì„œ 해결하기ë�„ 하지.. -_-; 아는 형 중ì—� ê·¸ë ‡ê²Œ 하ë�˜ë�°.. dx 쓸때.. source 는 ëª¨ë¥´ê² ê³ .. mfc ì—�서 dx 쓸때 ê·¸ë ‡ê²Œ í•œë‹¤ê³ í•˜ë�”ë�¼.. ë� 네가 ë§�하는 ë¬¸ì œì�˜ í•´ê²°ì±…ì�´ ë� 듯 하기ë�„ í•˜ê³ .. -- erunc0