Bug 16324 - iOS 6 Emitter Cells Birthrate not working correctly
Summary: iOS 6 Emitter Cells Birthrate not working correctly
Status: RESOLVED UPSTREAM
Alias: None
Product: iOS
Classification: Xamarin
Component: General ()
Version: 6.1.x
Hardware: Macintosh Mac OS
: High normal
Target Milestone: 7.0.6
Assignee: Bugzilla
URL:
Depends on:
Blocks:
 
Reported: 2013-11-18 16:46 UTC by Joey Z
Modified: 2013-12-13 15:14 UTC (History)
5 users (show)

Tags:
Is this bug a regression?: ---
Last known good build:

Notice (2018-05-24): bugzilla.xamarin.com is now in read-only mode.

Please join us on Visual Studio Developer Community and in the Xamarin and Mono organizations on GitHub to continue tracking issues. Bugzilla will remain available for reference in read-only mode. We will continue to work on open Bugzilla bugs, copy them to the new locations as needed for follow-up, and add the new items under Related Links.

Our sincere thanks to everyone who has contributed on this bug tracker over the years. Thanks also for your understanding as we make these adjustments and improvements for the future.


Please create a new report on Developer Community or GitHub with your current version information, steps to reproduce, and relevant error messages or log files if you are hitting an issue that looks similar to this resolved bug and you do not yet see a matching new report.

Related Links:
Status:
RESOLVED UPSTREAM

Description Joey Z 2013-11-18 16:46:10 UTC
Please see this stackoverflow post for the original bug.  I've also posted the bug below for convenience.  

http://stackoverflow.com/questions/20054593/ios-6-emittercells-birthrate-not-working-correctly

I've found some very strange behavior with regards to the CAEmitterCell in iOS 6. Please note that these problems only exist when running iOS 6. And also note that I'm referring too Cells that are children of other cells. I've tested iOS 6 vs iOS 7 on both devices and Simulators.

-In my extremely simple project linked below, if I have less than 70 objects (birthRate < 70) No Objects are created at all! So if you set it to 50, you would expect 50 to be created... but non are created

-BirthRate for sub-Cells that spawn from other CAEmitterCells is not accurate. When I set it to 70, it creates roughly 7...

-BeginTime is functioning very odd. Let's say my parent cell has a LifeTime of 1.6. If I set It's child cells beginTime to be 1.5 it works correctly. But if I set the child cell's beginTime to 1.4 (which should also work correctly) no cells are spawned at all... Anything less than it's parent's LifeTime should work, correct??

Here is a video demonstrating these bugs/problems:
http://www.youtube.com/watch?v=dmCiiJgAh_Q

Here is a dropbox link to the Xamarin.iOS C# Project I used to demonstrate these bugs:
https://www.dropbox.com/s/5yz4c149vacyuxa/Test_particleEmittorFireworks.zip
Comment 1 Sadik Ali 2013-11-21 10:11:33 UTC
I have reproduce the bug, below are my observations:

Joey Z: -In my extremely simple project linked below, if I have less than 70 objects
(birthRate < 70) No Objects are created at all! So if you set it to 50, you would expect 50 to be created... but non are created
Sadik: I checked this behavior at my end using the iOS 6 and found it happening the same way as mentioned by Joey. However, Joey has mentioned for brithrate < 70 but this is happening for birthrate < 68 (to be precise).


Joey Z: -BirthRate for sub-Cells that spawn from other CAEmitterCells is not accurate.When I set it to 70, it creates roughly 7...
Sadik: I am also able to reproduce this issue. Also, if I take birthrate = 68, then it creates around 7 sub-cells. i.e. it is doing some sort of rounding off in this case.

Joey Z: -BeginTime is functioning very odd. Let's say my parent cell has a LifeTime of1.6. If I set It's child cells beginTime to be 1.5 it works correctly. But if I set the child cell's beginTime to 1.4 (which should also work correctly) no cells are spawned at all... Anything less than it's parent's LifeTime should
work, correct??
Sadik: I checked this issue, if I set child cells beginTime to be 1.4 it is not working correctly.
Comment 2 Miguel de Icaza [MSFT] 2013-12-02 12:18:31 UTC
This seems to be an iOS difference.
Comment 3 PJ 2013-12-11 18:45:51 UTC
This fix is planned to be released with Xamarin.iOS 7.0.6, which should hit the beta channel before December 23rd.
Comment 4 Mohit Kheterpal 2013-12-12 09:50:22 UTC
Today we have checked this issue with attached sample in bug description and with following builds :

XS 4.2.2 (build 2)
X.iOS 7.0.6.159

We are still getting same issue when we decrease birthrate to 65 then it does not create any object.

Screencast : http://www.screencast.com/t/JhsI1C7BC

Hence reopening this issue.
Comment 5 PJ 2013-12-13 14:44:04 UTC
Just to clarify comment 2, it appears that Apple fixed/changed this between iOS 6 and iOS 7, so it can't be fixed by Xamarin.

Re-RESOLVING, this time as UPSTREAM.
Comment 6 Joey Z 2013-12-13 15:14:59 UTC
PJ, can you provide a source for this?  I looked all over and even posted on the Apple Developer forums asking about this.