Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - newlife

Pages: [1] 2
1
Nicki,
I read your post carefully.
You made an extensive testing, but your conclusion (turning on Static on panel) is something almost obvious.
You also forgot to make a compare with 2.7 performances, which are the target performance to aim.
Even with static on, performance differences are HUGE.
Today I tested my app (both old and new version) on a Samsung Galaxy S4 mini, which is a good performance device.
Performance differences on big draggable panel are extremely evident (old version very smooth, new version a lot of breaks in the scroll).

I think that the reason why there aren't a lot of people complaining about this is cause few people use big draggable panel and / or test they app on powerful devices.
Anyway I think that this is a major issue in NGUI 3.x, cause it implies that there must be something wrong in the code.

I really hope to hear ArenMook thought about this, hopefully not a conservative reply.

Thanks,
Michele Di Lena

2
Thank you for your reply Nicky. Keep in mind that i suggested to use deep profile just to have more information, the result is perfectly the same with normal profile in the editor and of course on a android device (and on any target i think, cause the performance drop is present in the editor).
Im curious to know the results of your tests.

3
I can finally reply after the release of the update of our app.
ArenMook, I think that you misunderstand the aim of the thread i opened here. You are trying everything to "demonstrate" that im wrong and that you product is cool.
There is no reason to do that, im using NGUI cause I think that its the best GUI for Unity.
The aim of this thread is to understand with you what is causing the performance drop, nothing else. It seems that you think Im writing here to degrade you product.
Do please reconsider that. A said, Im here to work with you in a win-win way, not to argue with you.
Let me know what you think.

4
ArenMook,
the issue im talking here is a performance drop of the draggable panel after updating from 2.7.0 to 3.x.
So the issue is low performance with draggable panel with a substantial amount of items in it (extremely evident on low power Android device).
The repro case is, as wrote in the previous message:

Open the included example (scroll view camera). Remove anything not related to the draggable panel (scroll bar etc.)
Set cull off.
Put a good amount of items in the view (I put 200 items) in order to emphasize the issue.
Open the profiler and set as deep. Simulate a real world user inputs (make some drags with a second of wait between one and the other).
The issue is that the UI is not responsive at all (seconds of waits for a drag).

5
Any news regarding this? We are going to release an update of our game today or tomorrow, i would like to know if its possible to fix this.

6
Create two new projects, one with NGUI 2.7 and the other with NGUI 3.7.8. Open the included example (scroll view camera). Remove anything not related to the draggable panel (scroll bar etc.)
We are going to concentrate on cull off cause with cull on results seems similar.
Put a good amount of items in the view (I put 200 items) in order to emphasize the issue.
Open the profiler and set as deep. Simulate a real world user inputs (make some drags with a second of wait between one and the other).

In the attached images you can see the results I got. With NGUI 2.7 there is a big peak at the start of the drag but is narrow and the UI is responsive. With NGUI 3.7.8 there is the same big peak but is much more long and UI is not responsive at all (seconds of waits for a drag).

Please tell me what you think.

7
This issue is reproducible with any draggable panel, the more the entries in the panel the more the issue is evident.

8
newlife, can you make a repro case, so I can try it? Just pm me a link, then I'll take a look.

Preferably with as close a setup to what you have problems with as you can.

I made some further tests with the profiler and it seems that there is a bug with cull option in NGUI 3.x.
I have two version of the same project, one with NGUI 2.7 and the other with NGUI 3.8.
Profiling the project with NGUI 2.7.0 while dragging the draggable panel gave these results:

cull on: 16ms  average frame time
cull off: 4ms   average frame time

Profiling the project with NGUI 3.8.2 while dragging the draggable panel gave these results:

cull on: 15ms  average frame time
cull off: peaks of 290ms , 15ms  average frame time


So the behaviour seems similar with cull on, while with cull off there must be something wrong.
Please let me know what you think.



9
I would advise you to have a look at endless scroll views example. You can create a scroll view with only a few entries that will be reused as they go out of range.

Aren, thank you for your suggestion, but i REALLY encourage you to examine in depth this issue, its causing a huge performance drop in ANY draggable panel, and this has nothing to do with scroll bar. Tested on the very same device (LGP700), wit the very same interface, the version made with NGUI 2.7.0 is usable while the one made with NGUI 3.8 is mostly unusable (drags occurs after several seconds on the leaderboard panel; its completely unusable on the flags panel).

If you want to test for yourself, this is the link of our app (made with NGU 2.7.0) on google play:

https://play.google.com/store/apps/details?id=com.realdriftportnew.sipon

If you will, I can include you in the beta test page of our new version which is using NGUI 3.8.2, so you can check performance differences.

10
Hello Arenmook,
sorry but i didnt read your previous message.
To my tets, the issue is not only related to scroll bars.
I have another draggable vertical panel used to let the player choose his country. This panel has a lot of entries (one for each country in the world). Each entry is made by a label and a sprite with a button. No scroll bars. After upgrading to NGUI 3, huge performance drop for this panel too. Unusable with cull off, usable but with serious flaws even on decent device (Iconia Tab 8 ) with cull on.
Please advice.

11
I made the same test with the included scroll view panel example and the results are the same when culliing is on, but when culling is off I see 148 logs call in the console.
Can you please check this?
Using NGUI 3.8.2 and Unity 4.5.5.

Anyway, performance of draggable panels are still far away from NGUI 2.7.0.

ArenMook can you please have a look to this? performance degradation is evident even on mid/high end device (Acer iconia tab 8)

12
I just did a simple test:
1. New scene, ALT+SHIFT+S, ALT+SHIFT+C, right-click, add scroll view.
2. Drag & drop the sprite into the scroll view, right-click, attach drag scroll view.
3. Duplicated the sprite a few times, changed the names to make them unique.
4. Run, drag them around. I see the "Geometry changed: XXX" being called when items enter/exit the scroll view -- exactly what I expect as "culling" is on by default.
5. Changed "culling" to off, tried again -- nothing changes during the drag operation at all now.

I made the same test with the included scroll view panel example and the results are the same when culliing is on, but when culling is off I see 148 logs call in the console.
Can you please check this?
Using NGUI 3.8.2 and Unity 4.5.5.

Anyway, performance of draggable panels are still far away from NGUI 2.7.0.

13
i just updated to the latest version on Asset Store (3.8.2) and the behaviour is the same:

if cull is false, during dragging there is huge amount of geometry changed calls.
If cull is true, much less geometry changed calls (only items that enter or exit the scroll view).

I really dont know what happening.
With cull set to true things seems much better anyway.

14
Well this is weird.
I checked the panel and, as expected, cull is false. During dragging, huge amounts of geometry changed calls.
Set cull to true, much less geometry changed calls (only items that enter or exit the scroll view).
Definitely a 3.7.5 bug.
I'll try with latest NGUI version.

15
not at all. Its a simple draggable panel. The only distinctive trait is that entries are created runtime (cause leaderboard data is downloaded runtime from a server).
Anyway,everything is the same as the NGUI 2.7.0 version, which didint suffer of this issue.

Pages: [1] 2