Re: Priston LAG! Priston With windows7 ! Priston DirectX
I've said before that I'm not convinced by Fraps FPS count, because it counts back-buffer flips while PT doesn't always have time to update the back-buffer between flips... and in that instance it will replace the current frame with an identical copy. :(
However, I just made a Fraps FPS test and found that Butchered went from 70fps (also impossible as my monitor syncs at 60) from 20fps with F11 and no TextOut(), and only reduces to 57fps with TextOut() enabled and F11. (text over NPCs and the Debug overlay text at the top... but admittedly less TextOut() activity. So the 2D blitting of the HUD is still a serious problem.
--- UPDATE ---
When I first posted, I wrote that completely misleadingly... and it still doesn't read well.
(100 / 70) * 70 = 100% = 3D only.
(100 / 70) * 57 = 81% = 3D + font with no HUD.
(100 / 70) * 20 = 20% = HUD with no text.
Which looks like the 3D takes no time at all. (because that's our 100% base line?) 80% of that time is spent rendering the 2D overlay of inventory, health bars, NPC portraits?, inventory (open that up and fps dropped to 15 on some overburdened toons) and so on. 20% overhead is the text / font rendering.
I am using a bitmap font though. Well, it's still a truetype (Gulim) but has an embedded bitmap at the point-size rendered, so GDI uses that instead of the vectors.
Re: Priston LAG! Priston With windows7 ! Priston DirectX
well. more test are gone... and i find something, and i think, interesting.
MAGIC GAME :
[CALL 00408260]
well.. in game there is some textout who does "be out" by a GDI32.textoutA.
for example... this call i show : CALL 004082D0
this make apper the "BP" "ROUND" in bellatra... and all that kind of text with some texture =)
so just making a breakpoint in there i find 5 instances to call this function...
its almost the same who GDI32.textoutA use. but in that "bellatra call" it can be a simple trade the color.
well i make a test .
i trade the "chat,version" GDI call for this "belltra call"... so its works. but the size of text is big .
thats give us a question :
this call use dx function to a output text? ( i really think so . i find in this function references to it. )
and... it will gets better?
Re: Priston LAG! Priston With windows7 ! Priston DirectX
It probably doesnt use any DX function, it just changes the color and increase the height/width of the font.
Re: Priston LAG! Priston With windows7 ! Priston DirectX
see by youserlf. does have ani GDI call inside this function. only two call by that ecx+24... ( and a dword to exc in dx dll)
well.. its i think.
Re: Priston LAG! Priston With windows7 ! Priston DirectX
Do we have a MagicPT client to try? The SoD2 "ROUND X" text is definitely a texture, and may be a good example of how to make a bit-blit font. ^_^
Re: Priston LAG! Priston With windows7 ! Priston DirectX
@bob search by "Round" word or "player Time:" and u find it =D
u think with this change it will be better?
Re: Priston LAG! Priston With windows7 ! Priston DirectX
hmm... tell me what you think bob and maybe I could create a global dll to automacilly do that with every game.exe
Re: Priston LAG! Priston With windows7 ! Priston DirectX
well i am not bob. but i think will gets better 20% about FPS... i think we can try =p
but bob told about HUD mod off.. and... hud mod is by directx right?
so... anything can be done here? ( about 2d image files...)
and about change the size of font? any tips?
Re: Priston LAG! Priston With windows7 ! Priston DirectX
Bob, could you compare your results with D3DWindower? It will display FPS in title bar. I wonder how reliable it is
Links:
D3DWindower EN: FilePlanet: D3DWindower English version
D3DWindower JP: http://www.geocities.jp/menopem/
Re: Priston LAG! Priston With windows7 ! Priston DirectX
KPT GAME .
http://img38.imageshack.us/img38/3262/201275102136.jpg
Quote:
Originally Posted by before
CPU Disasm
Address Hex dump Command Comments
0040749B \8B4424 14 MOV EAX,DWORD PTR SS:[ESP+14]
0040749F 8B4C24 10 MOV ECX,DWORD PTR SS:[ESP+10]
004074A3 8B5424 0C MOV EDX,DWORD PTR SS:[ESP+0C]
004074A7 50 PUSH EAX
004074A8 8B4424 0C MOV EAX,DWORD PTR SS:[ESP+0C]
004074AC 51 PUSH ECX
004074AD 8B4C24 0C MOV ECX,DWORD PTR SS:[ESP+0C]
004074B1 52 PUSH EDX
004074B2 50 PUSH EAX
004074B3 51 PUSH ECX
004074B4 FF15 40405D00 CALL DWORD PTR DS:[<&GDI32.TextOutA>]
004074BA C3 RETN
So...
Quote:
Originally Posted by With the change
CPU Disasm
Address Hex dump Command Comments
0040749B \8B4CE4 10 MOV ECX,DWORD PTR SS:[ESP+10]
0040749F 8B54E4 0C MOV EDX,DWORD PTR SS:[ESP+0C]
004074A3 68 DDDDDD3E PUSH 3EDDDDDD
004074A8 8B44E4 0C MOV EAX,DWORD PTR SS:[ESP+0C]
004074AC 6A FF PUSH -1
004074AE 52 PUSH EDX
004074AF 50 PUSH EAX
004074B0 51 PUSH ECX
004074B1 E8 1A0E0000 CALL 004082D0
004074B6 83C4 14 ADD ESP,14
004074B9 C3 RETN
this call work by this way :
CALL 004082D0 (FONT,COLOR,X,Y,Text)
PUSH 3EDDDDDD <<< font
3e (charset i think )
dddddd < size.
Re: Priston LAG! Priston With windows7 ! Priston DirectX
Quote:
Originally Posted by
Vormav
Bob, could you compare your results with D3DWindower? It will display FPS in title bar. I wonder how reliable it is
Just tried, and got exactly the same results as I got from fraps without it. :(
I'll see what sense I can make of microamazings' listing. It doesn't immediately look promising, but is really hard to figure out with the pre-formatting from olly stripped by putting it in quote tags. :p