-
Notifications
You must be signed in to change notification settings - Fork 178
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
Another UI performance drop #2095
Comments
That's interesting, the scrollbar actually works, we just don't display it. Maybe something goes wrong when we recreate it, since it's connected to the textarea. I can imagine it being slow on load, since it has to layout to such short columns, but the actual rendering shouldn't be impacted by the invisible text — that sounds fishy. |
we dont relocate scrollbars. We ignore the ones in the CHU if they are assigned to a The trace is impossible to decipher, but I don't think we optimize away printing text. Line 252 in a8b88ee
|
yeah, see this
|
The trace just shows that the CPU is spending 95% of the drawing time of a frame in Shouldn't we just not be here at all? There is no content update here, so my guess is that we do not even go into |
Yes, but that's all it shows. I shows nothing about how you end up there. Lots of stuff prints. I don't doubt that it's the
You're using a tracing tool. Have it record calls to I suspect the The Sounds more like another invisible view that actually does have an area, but that should still show up with the debug flag enabled. |
Yep, it's a scroll bar with the invisible flag set but a non-zero area. Will do more research later. |
Different example but I guess the same situation: If I make scrollbar in the red area visible via script, the framerate is good. Otherwise, there is a dirty subview because of the invisibility and non-zero area. As far as I can see, some Python statement |
So yeah, that's the reason apparently: gemrb/gemrb/plugins/CHUImporter/CHUImporter.cpp Lines 381 to 384 in 1220c11
What to do? I'd say that that |
Right, and that probably makes sense with IWD2 and PST because we cant just assign our own scrollbars due to the CHU background and their placement relative to the But it also seems like there is a bug with the visibility toggling, because it looks like the
I disagree; I don't think that is something that should be overloadable. If something did want to invoke such behavior we have That said, perhaps the |
I guess that scrollbar is for the list on the left? I don't understand how that would get hidden since it doesn't seem attached to a |
No, there is nothing to scroll down. The original displays it though, not even looking disabled or anything like it, but it's useless in this case.
No, it's just that in CHUImporter, and nothing apparently ever requests its visibility again. gemrb/gemrb/plugins/CHUImporter/CHUImporter.cpp Lines 376 to 385 in 1220c11
Yeah, I'll give it a try. |
Re CHUImporter: can't we just delete that branch and call SetVisible on the ones that need it from the python side? |
not exactly, the |
Ah, yes, didn't see that — obviously I meant just the SetVisible call. But yes, if you're asking if it's easy to find scrollbars with bad links, that's easily scriptable with iesh (just annoying, since it's still on py2). It just feels like the hiding would be a rare need. |
Looks good this way. |
Otherwise, scrollbars that are invisible as per `CHUImporter` will constantly keep their parents dirty. We want this only once to redraw backgrounds on turning invisible. fixes gemrb#2095
Bug description
Feels somewhat similar to #2087. I'm here and there is nothing moving:
Yet, the more text to the right, the bigger the FPS are going down. Also: scrollbar elements are missing despite being useful here. Not sure if related to this problem for now. Anyway, plenty of font rendering going on:
![tracy_font](https://private-user-images.githubusercontent.com/238558/333742683-e2e36e7d-6172-4435-9e9c-ade0dac21f30.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTg1OTk1MTIsIm5iZiI6MTcxODU5OTIxMiwicGF0aCI6Ii8yMzg1NTgvMzMzNzQyNjgzLWUyZTM2ZTdkLTYxNzItNDQzNS05ZTljLWFkZTBkYWMyMWYzMC5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwNjE3JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDYxN1QwNDQwMTJaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1jOGVmOWM0YzQ5MDY5NzhkYjViMWFkMzg2YzM3YjBiZTdmN2FkYjIwNjVhNDFjYjdlZmU3YmZmOWM0OWJmYWE3JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.9knnPPNxtNBliE0RjGkDl7I5xl9X8pbsDSn6FVppEZo)
GemRB version (check as many as you know apply)
Video Driver (check as many as you know apply)
OPENGL_BACKEND
enabledOPENGL_BACKEND
enabledThe text was updated successfully, but these errors were encountered: