dev.gamez.lv Forum Index dev.gamez.lv
Latvian Game Developers Community
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups 

IDirect3D9::CreateDevice un double/float precision

 
dev.gamez.lv Forum Index -> Microsoft DirectX
View previous topic :: View next topic  
Author Message
Vecais_Dumais_Laacis
Guru
Guru


Joined: 29 Jan 2004
Posts: 800

PostPosted: Mon Jul 20, 2009 10:20 pm    Post subject: IDirect3D9::CreateDevice un double/float precision

moka kaadam noderees kaadreiz.
shodien paaris h pavadiiju ciinoties ar to ka izmantojot timer klasi, kas laiku atgriezh kaa double, atgrieztaa veertiiba bija gljukaina. alja aiz komata vienmeer bija 0 un pirms komata veertiiba dazhreiz bija lielaaka dazhreiz bija mazaaka par to kaadai bija jaabuut. izveicot testus ar klasi viss pashii. izmantojot reaali klasi viss gljuchii. vitoge:

IDirect3D9::CreateDevice defaulti uzsetto FPU uz single precision modi. attieciigi visas darbiibas ar double tiek veiktas kaa ar float neskatoties uz to ka sizeof joprojaam atgriezh 8. no shii var izvairiities divejaadi.
1) nelietot double datatipu vispaar
2) lietotojot D3DCREATE_FPU_PRESERVE flagu ieksh IDirect3D9::CreateDevice BehaviorFlags paramaa - shii operaacija teorijaa samazina directx aatrumu (cik sapratu tad katra dx funkcija pie shii flaga funkcija saakoties setto FPU uz single precision un funkcijai beidzoties setto atpakalj uz origjinaalo jo ieksheeji dx joprojaam lieto single precision)
3) settot FPU uz double precision modi vajadziigajos briizhos (man gan veel nav iisti sanaacis saprast kaa)

edit:
teorijaa shaadi var uzsettot double precision un atpakalj uz origjinaalo veertiibu
Code:
      unsigned int orgfp=_statusfp();
      _controlfp(_PC_64, _MCW_PC);
      //sheit lietojam double precision
      _controlfp(orgfp, _MCW_PC);

_________________
...un ja bites buutu laachi...
Back to top
View user's profile
snake5
Indago dalībnieks
Indago dalībnieks


Joined: 27 Jun 2007
Posts: 2590

PostPosted: Mon Jul 20, 2009 11:44 pm    Post subject:

Heh, cerams, ka tiešām cilvēki neslinkos paskatīties šeit. Pats pirms vairākiem mēnešiem ar šo pacīnījos..

P.S.
Nebūtu slikti, ja forumā būtu vairāk šāda veida informācijas, katrā sadaļā tāds īpašs sticky topic. Būtu forumam pievienotā vērtība.. Very Happy
_________________
"There are two choices here: "looks good" and "realism"." -- Paul Nettle
Back to top
View user's profile Visit poster's website
Storm



Joined: 11 Apr 2006
Posts: 742

PostPosted: Tue Jul 21, 2009 5:12 pm    Post subject:

Stulbi ka DX taa uztaisiits. Anywayz vienmeer var uzrakstiit paris rindas pats QueryPerformanceCounter etc.
_________________
Izraadaas ka dazu dev.gamez.lv lietotaaju absurdaa ignorance meedz eksisteet arii augstaakas paakaapees : http://www.gamedev.net/community/forums/topic.asp?topic_id=411552
Back to top
View user's profile
Vecais_Dumais_Laacis
Guru
Guru


Joined: 29 Jan 2004
Posts: 800

PostPosted: Tue Jul 21, 2009 5:45 pm    Post subject:

nu laiku dabuusi bet double no ieguutaa laika neuztaisiisi jo double operaacijas visas fallbacko uz floatiem. alja

Code:

double v1=10000000.0;
double v2=0.1;
double v3=v1+v2;


v3 nebuus tas ko tu gaidi :)

es izliidzeejos laiku konverteejot uz milisekundeem un opereejot ar int64 tipu peec tam
_________________
...un ja bites buutu laachi...
Back to top
View user's profile
Display posts from previous:   
dev.gamez.lv Forum Index -> Microsoft DirectX All times are GMT + 2 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group