View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0003277 | NoesisGUI | Unity | public | 2024-04-24 23:37 | 2024-06-10 19:13 |
| Reporter | samc | Assigned To | sfernandez | ||
| Priority | normal | Severity | major | ||
| Status | resolved | Resolution | fixed | ||
| Product Version | 3.2.3 | ||||
| Target Version | 3.2.4 | Fixed in Version | 3.2.4 | ||
| Summary | 0003277: Icons jittering in our map/minimap in 3.2.3 upgrade branch | ||||
| Description | We're very close to having our 3.2.3 upgrade ready. One last issue we noticed is that we're seeing icons on our map and minimap jitter. I'm not sure exactly what is causing this; this was working fine in 3.2.2. I can definitely investigate this more on my own, but was wondering if you had any ideas / thoughts on what might be causing this -- or even areas that I should probably look at first to help debug an diagnose this issue. You can see the videos of gameplay here in google drive: https://drive.google.com/drive/folders/1nVKe6rPz_OIHE1_T8XgQuu-GdqVRnorM?usp=sharing | ||||
| Steps To Reproduce | Join game | ||||
| Platform | Windows | ||||
|
Hi Sam, which xamls and templates are in charge of rendering the full map and the mini map, I want to take a look at the layout construction to see if I can figure out what is causing that jitter. |
|
|
Big in-game map (hold TAB button I believe) is all in MapView.xaml Minimap (little radar in the corner) is in MiniMapView.xaml All the templates are in MapTemplates.xaml In order to update all of these, we are binding the RenderTransform of a Canvas to a transform we compute int he data model. |
|
|
We're not sure if this happens on PS5 because it seems to only happen if our frame rate exceeds 60fps. Perhaps this is something in our rendering pipeline (PC is definitely running over 60fps and it doesn't happen there though). |
|
|
Oops, ignore that comment. commented on the wrong bug lol |
|
|
Just wanted to checkin here - realize y'all are probably quite busy. Is there anything I could do to help track down this bug? We'd love to get on 3.2.3. If you can direct me of just "check this" I can certainly do that and report results. |
|
|
I'm looking into this but can't reproduce it in my tests with the Square scenario. If I have to use the game Frontend scene I would need some login credentials to test it, right?, could you please provide that? Also, I see all text labels without localization solved, is there anything I should configure to see the correct texts? |
|
|
It happens for me when I play in editor in Square level. You shouldn't need to use the front end level so you shouldn't need login credentials (I can get you credentials if you would still like to test that scenario). Also, when you play in editor, I'm wondering if it's detecting your current locale and not using english -- that's my guess as to why the localization may not be working. I'll see if I can find a workaround for you. I'm changing my "game" resolution (this is in the editor resolution drop down) to "Full HD (1920x1080)" - not sure if that makes a difference? |
|
|
I find that i can reproduce this most easily on the minimap in square. You don't even have to move the character; if you just rotate the camera and look at the other icons on the screen you'll see that they are jittering around. I'll attach a couple videos here comparing 3.2.3 with 3.2.2. |
|
|
Here is a video of the editor displaying the jitter issue: https://drive.google.com/file/d/1e_AJRivr7tV0HsYSHibd97A4MXlzaeFA/view?usp=drive_link Here is a video of the editor on 3.2.2 showing same test: |
|
|
Thanks for the info, I was able to reproduce it and fix it, can you please try the attached patch? IconJittering.patch (1,638 bytes)
Index: RenderTreeHelper.cpp
===================================================================
--- RenderTreeHelper.cpp (revision 13848)
+++ RenderTreeHelper.cpp (working copy)
@@ -472,9 +472,12 @@
bounds.Transform(Transform2::Scale(scale.x, scale.y));
// Subpixel positioning, so offscreen rectangle is rendered in integer position
- offset.x = transform[2][0] - (float)(int)transform[2][0];
- offset.y = transform[2][1] - (float)(int)transform[2][1];
- bounds.Offset(offset);
+ if (!IsRotating(transform))
+ {
+ offset.x = transform[2][0] - (float)(int)transform[2][0];
+ offset.y = transform[2][1] - (float)(int)transform[2][1];
+ bounds.Offset(offset);
+ }
return ToRecti(bounds);
}
Index: RenderTreeHelperDraw.cpp
===================================================================
--- RenderTreeHelperDraw.cpp (revision 13848)
+++ RenderTreeHelperDraw.cpp (working copy)
@@ -99,9 +99,14 @@
offsetY = (float)borderb;
}
- float subX = transform[2][0] - (float)(int)transform[2][0];
- float subY = transform[2][1] - (float)(int)transform[2][1];
- if (mIsOffscreen && !IsZero(subY)) subY -= 1.0f;
+ float subX = 0.0f;
+ float subY = 0.0f;
+ if (!IsRotating(transform))
+ {
+ subX = transform[2][0] - (float)(int)transform[2][0];
+ subY = transform[2][1] - (float)(int)transform[2][1];
+ if (mIsOffscreen && !IsZero(subY)) subY -= 1.0f;
+ }
Transform2 imageMtx = PostTrans(transform, -subX, -subY);
imageMtx = PreScale(1.0f / scale.x, 1.0f / scale.y, imageMtx);
|
|
|
This fixes it! thanks! |
|
|
Great! Thanks for the confirmation. |
|
|
Sorry to reopen - but our QA did a much more involved test and it seems like this is still happening in some instances. You can see it in this video here: https://drive.google.com/file/d/1Uq7mjmgYKcG3BezMNkSBUhQCbdFzEmYt/view?usp=drive_link I'll hop on the branch and attempt to reproduce in editor to make sure it's not just something in the player. |
|
|
Was able to play around with this some more. It's much harder to reproduce now, but the repro is still 100%. Here's a video of it happening in editor: https://drive.google.com/file/d/1lMZcgdrl3BRgxivA8Hrb6NIWdvDTOoyn/view?usp=drive_link Essentially, if you are running forward (using 'D') button on keyboard, everything looks great. If you press the 'S' key to run backwards, the icon starts jittering. This was happening in editor on square level as well as in player. Any ideas? |
|
|
I did a couple experiments here trying to tweak some of that sub-pixel accuracy code but wasn't able to eliminate the jitter. Any ideas here on what else we could try? |
|
|
I kept messing around a bit here. If I completely remove the sub-pixel accuracy code from those two methods, everything seems to work properly.. but it doesn't feel like the "right" fix. Suggestions? |
|
|
We are trying to find the correct approach for that code, because current implementation and the fix I provided doesn't seem to behave well in all scenarios. |
|
|
Fixed in changeset 14069 |
|
| Date Modified | Username | Field | Change |
|---|---|---|---|
| 2024-04-24 23:37 | samc | New Issue | |
| 2024-04-24 23:37 | samc | Tag Attached: C# | |
| 2024-04-24 23:37 | samc | Tag Attached: Unity | |
| 2024-04-25 11:13 | sfernandez | Assigned To | => sfernandez |
| 2024-04-25 11:13 | sfernandez | Status | new => feedback |
| 2024-04-25 11:13 | sfernandez | Note Added: 0009417 | |
| 2024-04-25 11:48 | jsantos | Target Version | => 3.2.4 |
| 2024-04-25 23:56 | samc | Note Added: 0009418 | |
| 2024-04-25 23:56 | samc | Status | feedback => assigned |
| 2024-04-30 02:17 | samc | Note Added: 0009433 | |
| 2024-04-30 02:17 | samc | Note Added: 0009434 | |
| 2024-05-01 20:11 | samc | Note Added: 0009448 | |
| 2024-05-02 22:04 | sfernandez | Status | assigned => feedback |
| 2024-05-02 22:04 | sfernandez | Note Added: 0009456 | |
| 2024-05-03 00:11 | samc | Note Added: 0009457 | |
| 2024-05-03 00:11 | samc | Status | feedback => assigned |
| 2024-05-03 00:19 | samc | Note Added: 0009458 | |
| 2024-05-03 00:28 | samc | Note Added: 0009459 | |
| 2024-05-03 16:24 | sfernandez | Note Added: 0009463 | |
| 2024-05-03 16:24 | sfernandez | File Added: IconJittering.patch | |
| 2024-05-03 16:25 | sfernandez | Status | assigned => feedback |
| 2024-05-03 19:24 | samc | Note Added: 0009464 | |
| 2024-05-03 19:24 | samc | Status | feedback => assigned |
| 2024-05-06 11:43 | sfernandez | Status | assigned => resolved |
| 2024-05-06 11:43 | sfernandez | Resolution | open => fixed |
| 2024-05-06 11:43 | sfernandez | Fixed in Version | => 3.2.4 |
| 2024-05-06 11:43 | sfernandez | Note Added: 0009467 | |
| 2024-05-06 22:50 | samc | Status | resolved => feedback |
| 2024-05-06 22:50 | samc | Resolution | fixed => reopened |
| 2024-05-06 22:50 | samc | Note Added: 0009475 | |
| 2024-05-07 00:17 | samc | Note Added: 0009476 | |
| 2024-05-07 00:17 | samc | Status | feedback => assigned |
| 2024-05-15 00:37 | samc | Note Added: 0009528 | |
| 2024-05-15 01:33 | samc | Note Added: 0009529 | |
| 2024-05-15 10:32 | sfernandez | Note Added: 0009530 | |
| 2024-06-10 19:13 | sfernandez | Status | assigned => resolved |
| 2024-06-10 19:13 | sfernandez | Resolution | reopened => fixed |
| 2024-06-10 19:13 | sfernandez | Note Added: 0009684 | |
| 2025-10-10 13:29 | jsantos | Category | Unity3D => Unity |