iPhone Slider (.NET CF) - Now V1.0 Stable!!

Search This thread

chrismrulz

Senior Member
Jul 5, 2007
147
0
I think you misunderstand the timer issue. my problem is that the slider moves, that is fine, but the smooth sliding motion stutters whenever the timer ticks, when the timer is disabled while sliding then everything is smooth. what spec are your pdas because mine is only 200mhz o\c to 264mhz. I'll try and record a video of my sliding motion for you later but it is a lot better if you set

clock.enabled = false
slideani.stopanimation()
slidebutton.bringtofront()
on slidebutton mousedown

and then clock.enabled=true
slideani.startanimation()
slidebutton.bringtofront()
when the slider is back at the default location on the left.
yeah i can notice the stutter on some slow pdas.
there's issues with all the timers including the animation one.
some speed up when others start and some speed down. it varies on the speed of the processor.
but simply stopping the animation and clock on the slideback doesn't really solve the issue, and it means the time will be out of sync while you're dragging the slider and the animation wont keep going like it does on the iphone.

about the memory fix, that's good that it doesn't cause errors now we just need to know if it makes it use less memory.
mainly because if it doesn't fix the memory bug, it only means it'll take longer to shut down with no cause.
all the stuff i've added so far i've tested to make sure it actually makes it better.
i.e. only fix something if it's broke and what you're trying to do will fix it, or else we'll have to find out later from the people reporting bugs.
 
Last edited:

LlamaV3

Senior Member
Dec 31, 2006
84
0
yeah i can notice the stutter on some slow pdas.
there's issues with all the timers including the animation one.
some speed up when others start and some speed down. it varies on the speed of the processor.
but simply stopping the animation and clock on the slideback doesn't really solve the issue, and it means the time will be out of sync while you're dragging the slider and the animation wont keep going like it does on the iphone.

about the memory fix, that's good that it doesn't cause errors now we just need to know if it makes it use less memory.
mainly because if it doesn't fix the memory bug, it only means it'll take longer to shut down with no cause.
all the stuff i've added so far i've tested to make sure it actually makes it better.
i.e. only fix something if it's broke and what you're trying to do will fix it, or else we'll have to find out later from the people reporting bugs.

it doesnt alter the fact that the iphone uses a 620mhz processor with its own built in animation routines. it makes it difficult to replicate on a pda using gdi.I'll look into a non timer method for you, might be difficult but I've used other techniques in opengl windows apps to do this (reading the system millisecond counter during the paint function).

i experienced this memory bug, close down this slider and bang 4mb of memory have disappeared. The only thing in the program I could think of was that it wasn't releasing the bitmaps that were loaded, this code releases those bitmaps before closing. This was because the paint routine uses the bitmaps all the time, and it runs even while closing. try the code yourself and see what you think, I believe I've at least 90% fixed something that was broke.
 
Last edited:

chrismrulz

Senior Member
Jul 5, 2007
147
0
it doesnt alter the fact that the iphone uses a 620mhz processor with its own built in animation routines. it makes it difficult to replicate on a pda using gdi.I'll look into a non timer method for you, might be difficult but I've used other techniques in opengl windows apps to do this (reading the system millisecond counter during the paint function).
yeah but A_C can do it with slide2unlock with gapi, which isn't all that superior to gdi.
and 620mhz isn't really needed to move a bitmap and show a little animation.
if your 200mhz processor can render webpages with animated gif's and javascript (or heck they even run snes emulators), surely it could do this.

about reading the system millisecond, just remember that it will reset after 999 so there needs to be a function keeping track of the last number and doing some conditionals.
and again, we need to check if it improves on what is on there now. especially as it'd be adding alot more code so if it doesn't fix it it would only be worse.

i experienced this memory bug, close down this slider and bang 4mb of memory have disappeared. The only thing in the program I could think of was that it wasn't releasing the bitmaps that were loaded, this code releases those bitmaps before closing. This was because the paint routine uses the bitmaps all the time, and it runs even while closing. try the code yourself and see what you think, I believe I've at least 90% fixed something that was broke.
yeah i understand that should work to fix it.
just want to be sure. like have you actually tested it and seen the results?
i would test it out myself but my sd cards and rom are almost full and don't know where to find the free memory usage testing apps.

edit: i just tried checking free system memory before using it and it was 34.64. after using it, it only went down to 34.54. checking memory usage with memmaid (found i had it installed) showed no drop in memory at all. (??)
i think .net must be doing it's job properly in WM6 or something.. but either way sorry but it looks like i have no way of testing if it will fix anything so it's up to you guys.

edit2: just tested it the same way using the 2003SE device emulator and it went from 7.94 to 7.93..
 
Last edited:

chrismrulz

Senior Member
Jul 5, 2007
147
0
ok i've just updated it with llamav3's disposeall function and uploaded it.
testing it the same way as before (memory info dialog in settings, and memmaid),
it showed to actually increase the memory usage after exiting on mine by 100kb (don't know how this is even possible, probably due to something else).

but if i simply release a different version here on the 13th page, there might not be as many people downloading it and it would take a long time to be tested.
it shouldn't be that bad if it doesn't work anyway so we might aswell give it a go.
if the current version turns out worse i can change it back (just could be a little problem as i have so many versions of the slider source on my harddrive that it's sometimes hard to find which one does which).
 
Last edited:

LlamaV3

Senior Member
Dec 31, 2006
84
0
have you done this test with the previous version? I would be very interested, also what is your code for recording available memory?
 

chrismrulz

Senior Member
Jul 5, 2007
147
0
have you done this test with the previous version? I would be very interested, also what is your code for recording available memory?
yeah i mentioned it in the second-last post.

on my axim x50v running wm6 (i can test on my hx4700 but it is also wm6), i did a soft reset and opened up file explorer and navigated to my iphone dir.
then i opened up settings > memory and looked at the free memory / used memory and wrote them down.
i then opened up my app with file explorer and closed it.
then went back to the memory dialog and compared it to what i wrote down from before.

it showed 100kb loss of memory using my old one,
then i did the exact same procedure with yours and it came out as 200kb loss of memory. (i'm thinking this could be todo with other apps though as i don't see how your code could add much to memory, maybe a trickle of cpu time though)
i used the latest version of memmaid aswell and it showed no changes in memory with either (after pressing refresh).
also tried using wm2003se with device emulator which showed 10kb loss of memory (with mine).

as all of these cases were different to what others have reported with 4mb drops in memory, i've uploaded it anyway to see what happens.
it seems the .net framework disposes memory differently across platforms or something..
but anyway, it worked without causing any problems so it's worth a shot.
just gotta get this new version decided on before i go on to do lots more coding cos it could take a while changing all the code later.


on another note, using memmaid to check it's memory usage while it was running said it was 1.27mb :O
 
Last edited:

poan

Senior Member
Aug 6, 2007
53
3
Hello
An exelent software.

Running perfect on a S100 (magacian)

But. explain for a newby: How to install. I have to tap the .exe file from file manager.

How to create a shortcut or an automatic start.

P-O
 

chrismrulz

Senior Member
Jul 5, 2007
147
0
How to create a shortcut or an automatic start.
using file explorer find the Slider.exe and hold down on it until a menu comes up with 'Copy'.
Click copy and go to where you want the shortcut to go and instead of clicking paste, click paste shortcut.

if you want it to go on the start menu, go to \windows\start menu\ and paste the shortcut there.
for coming on when you first startup the device (i think that's what you were saying), paste it at \windows\startup\.
if you meant coming up when you wake the device, i have to program that though. which needs this memory issue resolved first before i can go on to that.
 

LlamaV3

Senior Member
Dec 31, 2006
84
0
using file explorer find the Slider.exe and hold down on it until a menu comes up with 'Copy'.
Click copy and go to where you want the shortcut to go and instead of clicking paste, click paste shortcut.

if you want it to go on the start menu, go to \windows\start menu\ and paste the shortcut there.
for coming on when you first startup the device (i think that's what you were saying), paste it at \windows\startup\.
if you meant coming up when you wake the device, i have to program that though. which needs this memory issue resolved first before i can go on to that.

when this is done we are just going to have to close the app instead of exit it, then when it is run again get the app to just show instead of reopen. will mean a quick start but the app will constantly run in the background at the 1mb or so that you mentioned. still better than 5mb that s2u uses.
 

chrismrulz

Senior Member
Jul 5, 2007
147
0
when this is done we are just going to have to close the app instead of exit it, then when it is run again get the app to just show instead of reopen. will mean a quick start but the app will constantly run in the background at the 1mb or so that you mentioned. still better than 5mb that s2u uses.
yeah was thinking about that, and would be the easiest todo (simple me.hide() might even do the trick),
but another idea would be to make another simple app coded in native c++ that opens the slider app on the onwake event and waits for the slider to exit etc.
meaning probably only about 10kb used at most while it's using the slider app.
although it would mean 10kb ontop of the slider app's memory when it is being used but it's a much better trade-off.
i for one probably wouldn't like the idea of my 1mb app running in the background, possibly even trying to do those animations and stuff, when i wanna get good performance to run fullscreen games etc..
but a simple 10kb app monitoring for the device to wake from standby could be quite practical.
think this is what A_C has done with the ilock.exe but not too sure as it won't even run on my pocketpc to try it out.
of course this is gonna be harder to code though, but it should be worth it.

if you think there can be a sure way to make it all-in-one and put the current slider app into a suspended state and dispose of everything in memory (would def. have to properly test ram usage this time),
that could be an even better idea. but it'd definitely have to make sure the suspending routine works.
 
Last edited:

LlamaV3

Senior Member
Dec 31, 2006
84
0
yeah was thinking about that, and would be the easiest todo (simple me.hide() might even do the trick),
but another idea would be to make another simple app coded in native c++ that opens the slider app on the onwake event and waits for the slider to exit etc.
meaning probably only about 10kb used at most while it's using the slider app.
although it would mean 10kb extra when it is being used but it's a much better trade-off.
i for one probably wouldn't like my 1mb app running in the background, possibly even trying to do those animations and stuff, when i wanna get good performance to run fullscreen games etc..
but a simple 10kb app monitoring for the device to wake from standby could be quite practical.
think this is what A_C has done with the ilock.exe but not too sure as it won't even run on my pocketpc to try it out.
of course this is gonna be harder to code though, but it should be worth it.

I've actually used this slider with a_cs ilock.exe, just renamed the slider.exe and it worked. However I would like the slider to always run because it takes too long to load when you want the screen to lock. I might press the standby button on the side of the phone, and when I press it again everything is unlocked because I'm waiting for slider.exe to start. the best solution would be an option, the same way a_c has done it. you can choose if the program uses me.hide or exit
 

poan

Senior Member
Aug 6, 2007
53
3
Thanks

Done

Now it starts Ok after a soft reset.

Now I can start it from main screen


P-O
 

chrismrulz

Senior Member
Jul 5, 2007
147
0
I've actually used this slider with a_cs ilock.exe, just renamed the slider.exe and it worked. However I would like the slider to always run because it takes too long to load when you want the screen to lock. I might press the standby button on the side of the phone, and when I press it again everything is unlocked because I'm waiting for slider.exe to start. the best solution would be an option, the same way a_c has done it. you can choose if the program uses me.hide or exit
yep an option would be good. or if ilock.exe works like you said then that should do for a while. (or we could even ask A_C if he can add a black screen while it loads which locks everything aswell)
we just gotta have priorities though.
memory usage and the graphics buffering problems are probably more important (and harder).
adding the config and all those little extras will be easy enough to do once we get to that stage (though a bit time consuming).
 
Last edited:

LlamaV3

Senior Member
Dec 31, 2006
84
0
yep an option would be good. or if ilock.exe works like you said then that should do for a while. (or we could even ask A_C if he can add a black screen while it loads which locks everything aswell)
we just gotta have priorities though.
memory usage and the graphics buffering problems are probably more important (and harder).
adding the config and all those little extras will be easy enough to do once we get to that stage (though a bit time consuming).


buffering works brilliantly on the version I'm using on my phone, but that's with transparency switched off, I'm just trying to work around that at the minute and it will be done.
 

chrismrulz

Senior Member
Jul 5, 2007
147
0
buffering works brilliantly on the version I'm using on my phone, but that's with transparency switched off, I'm just trying to work around that at the minute and it will be done.
buffering worked perfectly for me with transparency on, but only on qvga screens.
so does it not work as well on yours with the transparency on?
 

LlamaV3

Senior Member
Dec 31, 2006
84
0
buffering worked perfectly for me with transparency on, but only on qvga screens.
so does it not work as well on yours with the transparency on?


not as well in the version that's on here compared to an older one I worked on with transparency.

anyway I'm gonna try something completely different today, if I've got time (seems like I'm in meetings most of the day, fun).
 

chrismrulz

Senior Member
Jul 5, 2007
147
0
not as well in the version that's on here compared to an older one I worked on with transparency.
oh, well it looks like we're dealing with two problems then.
cos for me the current one is fine in qvga mode (except for when the timers kick in sometimes).

anyway I'm gonna try something completely different today, if I've got time (seems like I'm in meetings most of the day, fun).
looking forward to it.
don't rush yourself though. i've only been able to spend about a couple hours a day for about a week a half and we've already got this far.
 
Last edited: