|Mar 1, 2009, 08:16 PM||#1|
Thread usage -- how many and which one should be on main thread
I have a game with which mostly consists of the following:
a)Timer every second for clock
b)Timer ever 0.02 for animating many objects (this is always running)
c)User interaction with objects
I'm new to using multiple threads so I'm wondering what is suggested usage here. I currently have everything on the main thread except timer 'b' mentioned above. I'm reading that UI stuff should be on the main thread but it seems like that could be both 'b' and 'c' above.
And just an FYI, I'm using this to start the timer 'b' above:
[NSThread detachNewThreadSelector:@selector(startObjectsAnimation toTarget:animationHelper withObject:nil];
Then in animationHelper:
NSAutoreleasePool *autoreleasepool = [[NSAutoreleasePool alloc] init];
animationTimer = [NSTimer scheduledTimerWithTimeInterval:0.02 target:self selector:@selector(doAnimation userInfo:nil repeats:YES];
[[NSRunLoop currentRunLoop] addTimer:animationTimer forMode:NSDefaultRunLoopMode];
[[NSRunLoop currentRunLoop] run];
Curious what people's thoughts are about this.
Thanks in advance.
|Mar 2, 2009, 07:54 PM||#2|
Additional I see some people mention creating their own loop with a sleep interval instead of just using an NSTimer:
[self performSelectorOnMainThread:@selector(updateInterface) withObject:nil waitUntilDone:NO];
Is that better for any reason than NSTimer?
|Thread Tools||Search this Thread|
|thread||Thread Starter||Forum||Replies||Last Post|
|How many hours usage do you get on your iPad 2?||The Game 161||iPad||14||May 6, 2011 04:53 AM|
|How many degrees should the mac be?||issiciby||MacBook Pro||2||Jun 4, 2010 04:53 PM|
|Which files should be deleted and how?||Follon||iPhone Tips, Help and Troubleshooting||0||May 11, 2008 04:35 PM|
|Poll -- How many more stupid iPhone reports on MacRumors before release?||WannaGoMac||Community Discussion||11||Jun 21, 2007 11:49 AM|
|How many GBs should the VM be?||musicpyrite||Mac Applications and Mac App Store||4||Apr 24, 2004 08:10 PM|
All times are GMT -5. The time now is 05:20 AM.