
TheEndless
Channel Surfer
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
08-09-2010
04:36 PM
roOneLineDialog very resource intensive...?
I've found that the roOneLineDialog seems to eat up a lot resources while it's running, particularly if showing the busy animation. The following example illustrates this very well...
When you run the above code, you'll find that the cursor is extremely sluggish when moving around the keyboard. The obvious solution is to Close() the dialog before entering the while loop, but all other screens seem to stop processing when they lose focus, while the dialog doesn't. I have some screens in my app that take a few seconds to paint, so closing the dialog before the screen paints isn't very smooth from a UI perspective. I've gotten around it by passing the dialog to my custom screen, so it can close it before entering its wait loop, but I'm curious as to why it behaves the way it does.
TheEndless
dialog = CreateObject( "roOneLineDialog" )
dialog.ShowBusyAnimation()
dialog.SetTitle( "Please wait..." )
dialog.Show()
' do initialization stuff
keyboard = CreateObject( "roKeyboardScreen" )
keyboard.SetMessagePort( CreateObject( "roMessagePort" ) )
keyboard.AddButton( 0, "OK" )
keyboard.Show()
While true
msg = wait( 0, keyboard.GetMessagePort )
If msg.IsButtonPressed() Then
Return
End If
End While
When you run the above code, you'll find that the cursor is extremely sluggish when moving around the keyboard. The obvious solution is to Close() the dialog before entering the while loop, but all other screens seem to stop processing when they lose focus, while the dialog doesn't. I have some screens in my app that take a few seconds to paint, so closing the dialog before the screen paints isn't very smooth from a UI perspective. I've gotten around it by passing the dialog to my custom screen, so it can close it before entering its wait loop, but I'm curious as to why it behaves the way it does.
TheEndless
My Channels: http://roku.permanence.com - Twitter: @TheEndlessDev
Instant Watch Browser (NetflixIWB), Aquarium Screensaver (AQUARIUM), Clever Clocks Screensaver (CLEVERCLOCKS), iTunes Podcasts (ITPC), My Channels (MYCHANNELS)
Instant Watch Browser (NetflixIWB), Aquarium Screensaver (AQUARIUM), Clever Clocks Screensaver (CLEVERCLOCKS), iTunes Podcasts (ITPC), My Channels (MYCHANNELS)
1 REPLY 1
greubel
Visitor
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
08-09-2010
09:30 PM
Re: roOneLineDialog very resource intensive...?
I've found that ShowBusyAnimation() chews up about 50% of the system.