Attend XDA's Second Annual Developer Conference, XDA:DevCon 2014!
5,771,878 Members 37,226 Now Online
XDA Developers Android and Mobile Development Forum

[XAP / BETA] WP7 Screen recorder (Based on "The DllImport Project")

Tip us?
 
fiinix
Old
(Last edited by fiinix; 11th July 2011 at 10:51 PM.)
#1  
fiinix's Avatar
Retired Recognized Developer - OP
Thanks Meter 224
Posts: 568
Join Date: Oct 2010
Location: Stockholm

 
DONATE TO ME
Arrow [XAP / BETA] WP7 Screen recorder (Based on "The DllImport Project")

WP7 Screen recorder program


>Zomg, the Chinese could not program good fps...
>So i super optimized the **** code of theirs.

Application features

* Full-screen mode "F11"
* Presentation-mode background color chooser. (Useful in F11 mode)
* Great features on UI (The cn version suck'ed with UI)
* Chose what IP port WP7<>Server talk over
* See frames count' received
* Start/Stop server at any time to continue later -button
* More than 2.3 (old) 4 fps (stable fps)! Yay.


BETA Preview (Watch via Youtube for 720p; damn 4:3 ratio):


Cable free demo (works kind of well) (depends on wifi latency for FPS)


Randoms:
>My rage post about how they cant code: http://forum.xda-developers.com/show...6&postcount=75
>This is the result, many extra fps (more to come), yay.


- Server is always backwards compatibility -

Fixed-list

- (v0.2) WP-Client: More frames, less lagg.
- (v0.3) WP-Client: -^- and now a idle fps @ 5.1~ YEAH (my phone, inside app)
> Added more cross-device compatibility for dehydration hack (forgot native dll's, remembered today, so i fixed them too)
> CSharp___DllImport.Dehydrator.AllowMultitasking = true; (threw exception's, gone now ^)
Samsung Omnia 7
- ATO MAGLDR v2
Windows Phone 7

The hottest geek girl in the world SassiBoB, SassyBoB, Sassy BoB, sassibob
May the Thanks's button be with me at all time Luke Skywalker
The Following 15 Users Say Thank You to fiinix For This Useful Post: [ Click to Expand ]
 
Dwight2001
Old
#2  
Dwight2001's Avatar
Senior Member
Thanks Meter 1
Posts: 150
Join Date: Aug 2007
Location: Richmond, VA
This is huge can't wait!!
Dwight2001

Nokia Lumia 900

Backup -HTC Surround - 7.5.8107

 
ninjy
Old
#3  
ninjy's Avatar
Senior Member
Thanks Meter 21
Posts: 101
Join Date: Jan 2011
Location: Paris
This will work with games ?
 
fiinix
Old
#4  
fiinix's Avatar
Retired Recognized Developer - OP
Thanks Meter 224
Posts: 568
Join Date: Oct 2010
Location: Stockholm

 
DONATE TO ME
Quote:
Originally Posted by ninjy View Post
This will work with games ?
It captures frames globally on the phone, wherever you are; games, yes, but the wifi limitations etc holds the fps down. Later i will take milliseconds benchmark to see where all the functions are un-optimized.
Samsung Omnia 7
- ATO MAGLDR v2
Windows Phone 7

The hottest geek girl in the world SassiBoB, SassyBoB, Sassy BoB, sassibob
May the Thanks's button be with me at all time Luke Skywalker
The Following User Says Thank You to fiinix For This Useful Post: [ Click to Expand ]
 
the0ne
Old
#5  
the0ne's Avatar
Senior Member
Thanks Meter 52
Posts: 843
Join Date: Jan 2007
Location: Melbourne
nice work mate
---

Windows Phone Apps || Windows Phone Games --- want to review apps and game for windows phone and get paid for it ? Get it touch



---
 
ninjy
Old
#6  
ninjy's Avatar
Senior Member
Thanks Meter 21
Posts: 101
Join Date: Jan 2011
Location: Paris
I ask this because the Screen capture program based on "The DllImport Project" too can't capture games, probably due to DirectX.
 
naweed
Old
#7  
Junior Member
Thanks Meter 5
Posts: 4
Join Date: Mar 2009
Nice work...
 
fiinix
Old
(Last edited by fiinix; 22nd June 2011 at 03:35 PM.)
#8  
fiinix's Avatar
Retired Recognized Developer - OP
Thanks Meter 224
Posts: 568
Join Date: Oct 2010
Location: Stockholm

 
DONATE TO ME
Duration taken for 1 thread render: 21.295 sec
Duration taken for 2 thread render: 20.232 sec

Saves 1 sec total per 100 frames (according to yesterdays benchmark compared with today's new code)
>Going for the better =D

1 frame = 0,2023 sec (200 ms) (fully rendered)

>Stack where the most time is wasted
>Sending it back to server, need multi-thread there toooo

Eh, not the server transmit
>4.586 sec for 100 frames (static frame) (way to fast)
>0,04586 sec for 1 frame (45,86 milliseconds)


105,4 ms goes to "Phone.Screen.GetCaptureBytes(out buffer);"

+ So thats:
* 202 ms (get & render pixels)
* 45 ms (send pixels)
- Total of: 246 ms
> Average of 4,065 fps

Code:
var t = new Phone.Timers.HiPerfTimer();
t.Start();
for (int i = 0; i < 100; i++)
{
    first = CaptureData();
}
t.Stop();
More soon; and a release very soon.
Samsung Omnia 7
- ATO MAGLDR v2
Windows Phone 7

The hottest geek girl in the world SassiBoB, SassyBoB, Sassy BoB, sassibob
May the Thanks's button be with me at all time Luke Skywalker
 
Ddriver
Old
#9  
Ddriver's Avatar
Senior Member
Thanks Meter 23
Posts: 382
Join Date: Mar 2005
Cool, waiting for it.

Sent from my WP7 HTC Mozart using XDA Windows Phone 7 App
Greets Ddriver.

Nokia Lumia 925 32GB GER ORG CH Amber
Nokia Lumia 820 - 8.0.10328.78 - WP8
HTC Titan 16GB 7.10.8858.136 Dynamics v2.0 - 7.8 TOP!!!
HTC Mozart 8GB "Mango" 7.10.8107.79 Chevron loose GER / Now with "Ansar-Tech-ROM"
HTC Mozart 16GB "Tango" 7.10.8773.98 Chevron 9$ and loose GER/RUS
HTC T5353 Diamond2 GER
HTC T8282 HD GER
HTC P3700 Diamond GER
 
Flow WP7
Old
#10  
Junior Member
Thanks Meter 3
Posts: 29
Join Date: Mar 2011
Quote:
Originally Posted by fiinix View Post
Duration taken for 1 thread render: 21.295 sec
Duration taken for 2 thread render: 20.232 sec
What exactly are you rendering? cant you send the data as defalte stream to the server and render there?

Also why 2 threads for this slow operation any way?

Quote:
Originally Posted by fiinix View Post
105,4 ms goes to "Phone.Screen.GetCaptureBytes(out buffer);"

+ So thats:
* 202 ms (get & render pixels)
* 45 ms (send pixels)
- Total of: 246 ms
> Average of 4,065 ms
Your goal should be 105,4 ms since thats the upper bound.

Call Phone.Screen.GetCaptureBytes(out buffer); in 1 thread and fill a ring buffer with the info 3 to X elements.

Use antother thread to get them from this buffer, and send them. should be 120 ms then.

If i get something really wrong, please let me know, if you need help with multi threading stuff let me know.

regards.

Tags
wp7 screen recorder recx
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes