New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Better Bezier Patch fix #3541
Better Bezier Patch fix #3541
Conversation
if you're gonna use a static sized array like that but still respect ucount and vcount, you should make sure that ucount and vcount are not bigger than what can fit in the array. |
I indeed want to size the array dynamically with respect to ucount and vcount however i don't know how to do it .It would be appreciated if few lines sample can be given to me for reference. |
Easiest way would be this:
And at the end of the function:
|
Thanks .Will rebase it with this change. |
Rebase done and tested okay. |
@@ -20,7 +20,10 @@ | |||
|
|||
// Just to get something on the screen, we'll just not subdivide correctly. | |||
void TransformDrawEngine::DrawBezier(int ucount, int vcount) { | |||
u16 indices[3 * 3 * 6]; | |||
if ((ucount - 1) % 3 != 0 || (vcount - 1) % 3 != 0) | |||
ERROR_LOG(HLE,"Unsupported bezier parameters ucount=%i, vcount=%i", ucount, vcount); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you make this an ERROR_LOG_REPORT? Sorry for nitpicking, it'd be useful to know if it happens.
Or, I can after this is merged.
-[Unknown]
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sure . Done.
Yep, i just ran it and battle scene seems to be excellent now .If you want to get rid of that artifact , run in FB to memory mode and should be fine . Buffered mode seems not to be not cleared that artifact somehow |
But with FB to memory mode it does not show video. |
Ooo seems to be :) |
Tested with Pursuit Force and its sequel. It looks better but has a huge impact on framerate (now it´s nearly unplayable and a lot of stuttering) |
We could probably use a static buffer. If you're using a compiler, a profile while it's slow would really help: -[Unknown] |
Thanks for the advice, where should i upload the capture? |
Something like http://temp-share.com/ is lightweight. -[Unknown] |
May be i can try to create new buffer only when the ucount * vcount > existing one . |
Could just use a static -[Unknown] |
Thanks, here you are: http://temp-share.com/show/Pf3mg6tW2 |
So, of that profile, 36.8s were spent drawing beziers, out of 40.72s processing GE instructions. 90% is pretty significant. However, allocation is less than 0.5s of that. Still good to optimize, but most of that time is spent flushing. Most of that time seems to be in your video driver and the vertex cache I think. -[Unknown] |
btw Orphis said in the forum that he will port\fix his spline\bezier code from jpcsp http://forums.ppsspp.org/showthread.php?tid=1705&pid=42508#pid42508 |
Yep, no worry .Ultimately those current beizer/spline code will be replaced by a more complete one . |
Although it is still bit hackery and incorrect , at least show more correct in Jeanne d'Arc and show more stuff in God Eater Burst .
Meanwhile , Issue #3519, Issue #3490