Hello to the developper community.
I,'ve started to develop some stuff using visual studio 2005 and my PDA (HTC touch HD) and native win32 API.
The first thing i want to implement is a kind of list with kinetic scrolling support. I don't understand how i could reach enough performance with standart GDI blit functions to ake something as reactive as Yota constact for instance.
Are there other ways to blit on screen ?
You will get much better performance by using ActiveX with BitBlt, there you can write direct to the memory of the graphic-chip.
Wolfman-XP said:
You will get much better performance by using ActiveX with BitBlt, there you can write direct to the memory of the graphic-chip.
Click to expand...
Click to collapse
activeX ??? what the hell activeX does in bliting operation ????
Related
I'm quite pissed.
Before Windows Mobile 2005, HTC did not make their camera API public, so developers could not make use of the camera.
This all changed with WM2005 and the introduction of DirectShow. For devices released in the first year (since release of WM2005), this meant that one could "simply" use DirectShow to access the cameras.
But then HTC fell back to old habits again:
The HTC TyTN (Hermes) reports only a single video mode via DirectShow: 160x120 at 7.5 fps, which is a joke. Furthermore, trying to access the front camera via DirectShow fails too: It is simply not exposed (enumerated) at all.
The HTC Mteor (Breeze) goes even one step furher: It does report 160x120 and 320x240 (both at 15 fps), but actually both modes deliver pictures at 160x120. For the 320x240 mode, everything seems to work fine: IMediaSample tells that the picture is in that resolution. The memory buffer has the correct size (320x240x12bits), but the image in the buffer is really just 160x120.
Of course I tried several ROM versions (HTC, i-mate, etc.) but no chance.
So, I'm quite pissed. I already tried calling HTC but didn't get very far (which makes sense if these restrictions are on purpose...)
Daniel
No comments on this?
Nobody every using DirectShow?
I guess I also wouldn't do it if I wasn't force to...
Daniel
So with simple words if you want to use WM5 camera api in your application you can not do it in any HTC device
So how did the makers of CoolCamera go about? I was kinda under the impression that it used wm5s camera api, or am I wrong?
I think they've rewritten the interface from scratch. Look into the CPU developers' manuals. Not a small endevour!
V
CPU Developers' manual
Hi Vijay555,
Would you be so kind to post a link to where I can get this manual ?
Thanks in advance!
I don't think anyone wrote anything from scratch nor do I think this has much to do with a CPU manual... the devs at CoolCamera may have *somehow* managed to get their hands on the infamous HTC TyTN camera api... what exactly are you referring to when you mention the CPU manual?
Also, has anyone ever found a location where this api may be available or a means to get it? HTC developer support is non existant.
Eric, what makes you so sure that they didn't write it from scratch? Maybe they did acquire illegally or otherwise HTC's intellectual property, or maybe they just did what other manfacturers do and wrote some code.
Look at the device support - it's not a single device, it's many, across many different CPUs (Intel, Omap, Samsung), across many different camera sensors and support chips. However, implementation of a camera at software level is not impossible: how else do companies sell their sensors and chipsets?
http://www.ovt.com
Ask the sensor manufacturer, they'll give you chips specs, schematics, implementation code and draft driver code.
Then, look up the SC32442A developers' manual and you'll see that it encompasses a camera interface, again with necessary schematics and hardware IO information.
Sure it's hard to write a camera interface, but once you've written one, it gets easier to support others.
V
they need to continue writing then because my camera application frequently fails in that pictures are corrupt, can't be viewed, and the picture review is just black
Sure it's hard to write a camera interface, but once you've written one, it gets easier to support others.
V
Click to expand...
Click to collapse
What kind of effort are we talking about here? Days? Weeks? Do you think this would need to run in kernel space, or we could get away with user space?
Hello,
I've spent the last month trying desperately to find a free 2D (or 3D, but not required) graphics API I can use for high performance games on Windows Mobile. I initially set about trying to find a managed API to use, but now I've broadened my search to include any API (that I can call from C++ or .NET), and I'm still struggling to find anything.
The options seem to be:
- GDI: not nearly fast enough for high performance games
- DirectDraw: probably OK, but doesn't seem possible to use this on my HTC Touch Pro 2 due to memory problems (see http://blogs.msdn.com/windowsmobile/archive/2009/04/17/twisted-pixels-3-memory-mysteries.aspx -- I've got the same problem and have not yet found any way to work around this)
- Direct3D: no hardware driver on my Touch Pro 2, this renders about 0.2 frames per second in the samples, which is not good enough
- OpenGL: I've tried and tried, and can't get any samples working for this. The closest I've found is the tutorials here: http://www.zeuscmd.com/tutorials/opengles/index.php, but these all fail with an error, "Unable to create OpenGL|ES context" as soon as I run them (or alternatively using the "Ug" version, I get no window appearing at all).
Does anyone have any suggestions as to how I can progress from here? I really want to write some Windows Mobile games, but I can't even get started. :-(
Thanks,
Adam.
For 'better' graphics performance have a look at the 2D/3D Driver Development for MSM720X devices!
After installation of this driver pack try my OpenGL test app (source also available) found in my sig! Installing this driver pack will increase d3d performance, too!
Hi heliosdev,
Many thanks for posting the sourcecode for your OpenGL test -- I have that compiling very nicely here and producing very promising results too. I think this may finally be the answer I've been looking for.
Do you have any idea how much of a performance hit using PInvoke to interact with OGLES is likely to be? I don't know whether PInvoke is slow to use or not, but it strikes me that it may be slower use it hundreds of times per frame compared to coding directly in C++ and not needing to PInvoke at all..?
Thanks again,
Adam.
For comparison NuShrike implemented torus test in C++. As you can see the difference is 'minimal' even NuShrike optimized it using vertex buffer objects (I'm using standard vertex arrays and just triangles, i.e. no triangle strips).
Hi, I want to know if someone know an app that allow to control the "priority" of running app so that it will possible to improve the use of the most important app and may be improve the battery life.
Regards
On market place I found mmtask++ its a service which manage the memory for low ram device, the developper is chainfire and its app cost 3.89€ , maybe its what you are looking for
look for sk-tools, there you can set the priority of a process.
nobodydu02 said:
Hi, I want to know if someone know an app that allow to control the "priority" of running app so that it will possible to improve the use of the most important app and may be improve the battery life.
Regards
Click to expand...
Click to collapse
Hello,
SK Tools allows you to optimize performance as precise, but still makes it easier MemMaid, giving priority to choose between operating the device based on better performance (speed), lower memory consumption and drums, etc ... I use SK Tools and MemMaid, as though some options were similar, in other cases MemMaid has a few things missing from SK Tools, or make it easier, and vice versa.
Poid I hope you understand me well, do not master the English language (I'm Spanish and I use the Google translator).
Sincerely,
jcmm said:
Hello,
SK Tools allows you to optimize performance as precise, but still makes it easier MemMaid, giving priority to choose between operating the device based on better performance (speed), lower memory consumption and drums, etc ... I use SK Tools and MemMaid, as though some options were similar, in other cases MemMaid has a few things missing from SK Tools, or make it easier, and vice versa.
Poid I hope you understand me well, do not master the English language (I'm Spanish and I use the Google translator).
Sincerely,
Click to expand...
Click to collapse
Thanks for your answer. I will see with these 2 app. Don't worry, your english is good, I'm french and understand what you said ;-)
Regardes
Moved as not software release.
Well sadly i don't have an answer for that question yet...
I'm trying to think of a way to put KSM to the test on my android device.
As far as i understand it is possible that the kernel actually causes high CPU usage trying to map and unmap memory pages over and over again.
This issue is known for linux and other virtual machines so it is possible that the Same effect will be on the android vm
Testings that i found are not relevant to android.
For example:
The result is a dramatic decrease in memory usage in virtualization environments. In a virtualization server, Red Hat found that thanks to KSM, KVM can run as many as 52 Windows XP VMs with 1 GB of RAM each on a server with just 16 GB of RAM. Because KSM works transparently to userspace apps, it can be adopted very easily, and provides huge memory savings for free to current production systems. It was originally developed for use with KVM, but it can be also used with any other virtualization system - or even in non virtualization workloads, for example applications that for some reason have several processes using lots of memory that could be shared.
Click to expand...
Click to collapse
http://kernelnewbies.org/Linux_2_6_32
What i would really want to know is what would happen if each of these VMs Would run a different application/game/audio/graphics software at the same time ? or what if the same vm will run many different apps ? and also to compare cpu usage with and without KSM
Guess i'll need a tool for that. something like 'iostat' but for memory diagnostic and another tool to see a per process CPU usage but 'top' is not good enough for that.
Any way, the best test should present clear results with precised data.
I'll keep looking for legit way to put it to the test.
If you can think of a way to test KSM with android, please let me know.
This is a technique that relates mostly to processes like virtualisation. For example, when you load 5 windows XP VMs, you'll have a good 10 - 20 services that are practically the same in memory in each VM. Instead of each service using 10mb (ie, 10mb x 5 = 50mb), you only need say 15 or 20mb using KSM. If you use different applications, it is very unlikely that anything would be saved FOR THAT APPLICATION. However, the main elements of a Windows XP System would still be there (drivers, explorer, firewall, logon, search and so on). Means little in one setup, but when you have several VMs it is shown to be a huge advantage. As we know a simple XP install can use 500mb of RAM actively, and this is fairly uniform across instals.
With android, i don't know if there are specific RAM savings to be had. Don't know enough about the inner workings and the sandbox android puts its apps in or how apps interact with system services. Sadly, i can't think of a good way to test it out either, but i'll be keeping an eye on this topic for someone (much) more knowledgeable to come along.
Harbb said:
Sadly, i can't think of a good way to test it out either, but i'll be keeping an eye on this topic for someone (much) more knowledgeable to come along.
Click to expand...
Click to collapse
Enter bedalus, stands there with a vacant expression on his face. Harbb looks disappointed.
kernels ; battery ; ROM ; gov/sched
That entire paragraph was dedicated to you bedalus, we both know that.
Lol
I hope someone can answer this though.
kernels ; battery ; ROM ; gov/sched
Wait for someone............
Sent from my Nexus S using xda premium
KSM does not improve performance on Android just like that - all enabling KSM does, is enable SUPPORT for the Feature but Applications would have to make use of the feature, which they don't.
You can easily verify this like that :
echo 1 > /sys/kernel/mm/ksm/run
<wait and/or run the Applications of your choice>
cat /sys/kernel/mm/ksm/pages_sharing
IF the above shows a value > 0 then you are making use of KSM else it's just available, without anyone using the feature.
Here's an interesting Article that gives a little more insight :
http://www.linux-kvm.com/content/using-ksm-kernel-samepage-merging-kvm
By the way, the same is true for ZCACHE. If you really want to make better use of your Memory (RAM) then using ZRAM as a Swapdevice does work (and may often make sense, too).
That all said : There appear to be efforts to make use of KSM http://forum.xda-developers.com/showthread.php?t=1464758 - so things may well change ...
any update on this...?
Did a light weight search here I don't see anything applicable.
Realizing the Linux\Android kernel is very memory friendly.
I had 1 or 2 questions.
What type of apps will put the most drag on processing as far as tasking on the Infinity?
Gaming for sure maybe.
Haven't gamed much lately so perhaps not an issue for me.
My uses are browsing like most.
Reading technical PDFs with diagrams and charts.
Letter writing.
Editing photos.
Electronic mail.
(I'll say I don't have much slowness with the above)
How are applications designed for speed?
Which type of apps present a light load on the system?
Do faster applications crash more? (with the Infinity specifically)
What are the major differences between Linux and Android?
I know a googsearch could yield info.
I just thought I could call on you guyz\galz for a spirited discussion.
all
Flames
Replies
Links
Jokes
Advice
Screenshots
accepted!
TIA
Thats OK said:
How are applications designed for speed?
Click to expand...
Click to collapse
By using fast algorithms and fast programming languages, and avoiding stupid things. Since the CPU has a fixed maximum speed, the only way to make an app faster is to execute fewer instructions to achieve the desired effect.
Thats OK said:
Which type of apps present a light load on the system?
Click to expand...
Click to collapse
Correctly programmed apps will only load the system if they have a reason (meaning, they do some work for you). Depending on what the app is supposed to do, this can be a light or a heavy load.
Reading technical PDFs with diagrams and charts -> will be a heavy load while rendering a page, and should produce virtually no load while you are reading.
Letter writing. -> should be a light load, since it will wait for your keypresses most of the time.
Editing photos. -> photo manipulation can be a heavy load, since calculations have to be applied to millions of pixels.
Electronic mail. -> see letter writing. Except if you send big attachments, then this will be a heavy load for the storage subsystem, but a light one on for the CPU.
Thats OK said:
Do faster applications crash more? (with the Infinity specifically)
Click to expand...
Click to collapse
No. Buggy apps crash more. If code is correct, it does not crash. As written above, slow applications do not really run slower or safer, they just waste more time.
Thats OK said:
What are the major differences between Linux and Android?
Click to expand...
Click to collapse
The Android kernel is a derivate of Linux that has some additional features for memory management, interprocess communication and power management.
The userspace part (everything running on top of the kernel - system libraries and applications) is very different.
Thanx!
Good information for me.