@slackmoehrle Additional info. If I play in preview mode and use most of the devices - performance is good, but if I choose only Apple iPad Pro 12.9-inch - FrameRate drops, even though the Frame time is 3ms.
On safari when I decrease the width of the window , it performs well, but when the width increases some value it drops. I remember similar issue on old version. Here is the link to the issue. FPS issue based on the size of the canvas
cc.view.enableRatina(false) fixes the problem, but why is this happening?
The problem is connected with the semi transparent textures. If Im rendering textures with transparency (gradient) in my game, performance of my computer drops drastically. So something is wrong with alpha blending in safari big resolutions. When I remove those textures from the game, the issue disappears. @slackmoehrle
so far no news? It’s a critical issue in general I think. It doesn’t have a high priority? @slackmoehrle
Big resolution safari browser on macbooks has problems with performance when rendering transparent textures.
It seems like it’s the same issue you mentioned above. If you remove semi transparent areas from the texture, Creator will trim the image so the actual rendering size will smaller than it was before. That’s why the performance issue will disappear. But why only safari has the problem? I have no idea. We will explore that question.
Actually it seems it is happening on chrome too. But on safari the performance drops drastically. Chrome is not so awful but bad. I would like to know when are you going to publish the new build of Cocos 2.1.2, because we plan to release our product and it would be better to do that without this issue? @jare@slackmoehrle
Hi @knox
Are you tweening also their opacities ? I assume the problem is based on the alpha blending. So to reproduce the issue you need a lot of transparent textures. If you tween the opacity it’s even better. I created a quick test. This example is not so complex and problematic like my project but anyway if you play it on Safari full screen, you will notice some performance issues while the time of frame is still 1.5 ms, but framerate is less than 60, and my computer becomes crazy and slow after running this on Safari.
Anyway this test project is really a quick and dirty test. My games have a lot of spine animations and semitransparent textures and actions, and they have a big problem on safari and even chrome too (safari is worse). When I resize the browser window and make it smaller ~x1.3 times the issue disappears. Other wise with Frame time 3-5 my FPS is 26.
After some investigations I realised that Spine animations with overlay blend mode performs really bad on safari and good on chrome. Also as I mentioned previously, semi transparent big textures (ex.darkening behind the popup which covers whole screen) they cause performance issue when they are on top of spine renderers. (I have lets say 30 spine objects and on top I have a layer with semi-dark transparent pixels and it drops the performance a lot. Removing spine objects or the layer fixes the issue) and this happens only on safari. I hope this info will help you more.
This should be the issue relative to Safari itself, about its WebGL underlying implement. We have no clue of it. It seems like Safari have a higher underlying resolution which will hit the GPU pixel fill rate limit. So will lead to the problem when you use a lot of big Sprites piling on the screen.