Direct Draw... what gives?? - Windows Mobile Development and Hacking General

I remember when applications where first being written to use direct draw on the ppc... we were told it would have a great improvement over older apps with video frame rates and code efficiency.
So, why is it that some newer devices (such as the Titan) have WORSE performance using Direct Draw apps than older devices with slower CPUs?
My experience with DD coding is slim to none, but as I understand it, isn't direct draw just a driver to allow for standard graphic routines with varying non-standard hardware?
Did HTC just write some bad drivers for the new hardware? Or is it something deeper? Benchmarks on the hardware yeild above-average graphics performance, and programs (such as TCMP) run fine when direct draw is disabled. So, it seem DD is the culprit. Why would this be?

no comments on this?

Related

Cornerstone? Multi Window goodness.

http://www.onskreen.com/cornerstone/
would be fantastic to have this capability on the Nexus 10. but nobody ever seems to work with it. any particular reason why?
>http://www.onskreen.com/cornerstone
>but nobody ever seems to work with it. any particular reason why?
No interest. Probably why it went open-source (it wasn't originally). My guess is that pushing bits for 3 concurrent apps would require more than a simple launcher swap, ie low-level optimization, and the OnSkreen peeps weren't up to it. Something like this would need to be done by Google.
The reason for lack of interest is obvious. Up till recently, Android's focus has been on phones, and muti-windowing is irrelevant on those. Even now, phone is Android's primary focus given its market size. The tablet's unique traits are still mainly left unexplored. Witness that multi-user acct--an arguably essential feature--was implemented only now in the latest 4.2 release.
IMO, the 3-pane fixed layout looks clunky (and ugly, but aesthetics can change). The need to configure each panel is clumsy as well, as opposed to, say, Win8's split-window scheme where one can config each window on-the-fly. Win8 does have the advantage of edge-swiping, which gives it an extra layer of configurability.
The underlying weakness of both this and Win8's fixed dual-windows layout is the Achilles' heel of touch UI (relative to mouse UI)--the lack of a precise pointer that would allow easy manipulation of multiple, possibly overlapping windows. Pen input is an option, but is likely not the answer.
The issue is resolvable, and for mobile OS'es to take the next step up from phone displays to larger form-factors, it will need to be resolved. Take this and Win8's split-screen as the first baby steps.
e.mote said:
>http://www.onskreen.com/cornerstone
>but nobody ever seems to work with it. any particular reason why?
No interest. Probably why it went open-source (it wasn't originally). My guess is that pushing bits for 3 concurrent apps would require more than a simple launcher swap, ie low-level optimization, and the OnSkreen peeps weren't up to it. Something like this would need to be done by Google.
The reason for lack of interest is obvious. Up till recently, Android's focus has been on phones, and muti-windowing is irrelevant on those. Even now, phone is Android's primary focus given its market size. The tablet's unique traits are still mainly left unexplored. Witness that multi-user acct--an arguably essential feature--was implemented only now in the latest 4.2 release.
IMO, the 3-pane fixed layout looks clunky (and ugly, but aesthetics can change). The need to configure each panel is clumsy as well, as opposed to, say, Win8's split-window scheme where one can config each window on-the-fly. Win8 does have the advantage of edge-swiping, which gives it an extra layer of configurability.
The underlying weakness of both this and Win8's fixed dual-windows layout is the Achilles' heel of touch UI (relative to mouse UI)--the lack of a precise pointer that would allow easy manipulation of multiple, possibly overlapping windows. Pen input is an option, but is likely not the answer.
The issue is resolvable, and for mobile OS'es to take the next step up from phone displays to larger form-factors, it will need to be resolved. Take this and Win8's split-screen as the first baby steps.
Click to expand...
Click to collapse
It doesnt help that when Cyanogenmod was considering baking Cornerstone into their builds, Google threatened to blacklist their roms from accessing the market/Google Play if they didnt change their mind due to potential compatibility issues... since then its seemed nobody wanted to risk touching it. Too bad, while I agree three panes were clunky, two panes like WinRT does could have been quite nice.
>It doesnt help that when Cyanogenmod was considering baking Cornerstone into their builds, Google threatened to blacklist their roms from accessing the market/Google Play if they didnt change their mind due to potential compatibility issues...
Didn't know that, but it makes sense. Fixed layouts like this (and Win8's) rely on specific criteria to work, ie a widescreen aspect in landscape mode. While MS can dictate the form-factor for Win devices, Android devices come in varying shapes, and fixed layouts are doomed to fail.
For multi-windowing to work, layout needs to be adjustable, as well as dynamically adjusts to both portrait and landscape orientations. Secondly, multi-window needs to be supported by all apps, not just some (like in Samsung's implementation). This means it needs to be in the OS, not an add-on.
Samsung's multi-window scheme is a more elaborate version, and is probably a precursor of what we'll see in Android. Note however that the Galaxy Note 10.1 in this example has pen input support, which obviates the Fat Finger syndrome. A platform-wide scheme will need to accommodate "imprecise" adjustments, which IMO will likely mean a snap-to-grid windowing system.
Edit: I added video for the 5.5" Galaxy Note 2 below. Even though the Note 2 supports S-Pen, apparently the cascading/adjustable window portion was dropped, and only the adjustable dual-window remains.
This makes sense for screen sizes 7" or smaller, and would be an improvement over Metro's current scheme. But the missing piece is for larger sizes WITHOUT the precision (and fiddliness) of pen input. This matters especially when tablets gain the use of external displays via Miracast. Again, my opinion is that cascading/overlapping windowing is still doable for Sausage Styluses, rather than just tiled, but snap-to-grid would be needed.

Android PC NOT for Streaming/TV

I'm interested in getting one of the Android PC sticks to use in my kitchen for basic web surfing and email use, as well as a little but of miscellaneous stuff. I'm wondering how much different the experience is, if any, between different makes/models. If this were a traditional PC (Windows, Linux, etc) I would normally run the screen resolution as high as possible, and make what ever other adjustment were available, to minimize on screen elements like title bars, tool bars, browser tabs, etc. They just (sometimes) seem to get in the way, and reduce the amount of area available to show the body of a document, or contents of a web page. So, is there any difference between different Android PC sticks?
Thanks,
Jon
jdnandroid said:
I'm interested in getting one of the Android PC sticks to use in my kitchen for basic web surfing and email use, as well as a little but of miscellaneous stuff. I'm wondering how much different the experience is, if any, between different makes/models. If this were a traditional PC (Windows, Linux, etc) I would normally run the screen resolution as high as possible, and make what ever other adjustment were available, to minimize on screen elements like title bars, tool bars, browser tabs, etc. They just (sometimes) seem to get in the way, and reduce the amount of area available to show the body of a document, or contents of a web page. So, is there any difference between different Android PC sticks?
Thanks,
Jon
Click to expand...
Click to collapse
There are screen adjustments built into the android o/s but differ from manufacturer as to the extent. Basically what you can do is utilize the on device adjustments and then go to the play store for any others you might need. For example there is a (free) app called full screen that may do all you are requiring. Different browsers also have different features you may be looking for. Android can be customized more than windows but with all the options available comes a bit of a learning curve. I recommend diving in, you will not be disappointed!!!
GigaRack said:
There are screen adjustments built into the android o/s but differ from manufacturer as to the extent. Basically what you can do is utilize the on device adjustments and then go to the play store for any others you might need. For example there is a (free) app called full screen that may do all you are requiring. Different browsers also have different features you may be looking for. Android can be customized more than windows but with all the options available comes a bit of a learning curve. I recommend diving in, you will not be disappointed!!!
Click to expand...
Click to collapse
Thanks GigaRack. So it sounds like I don't have to be concerned which stick I get, I will have about the same ability to adjust things with all of them. That makes it a little easier. Now all I have to do is figure out which stick will work best for me .
Jon
For the kind of basic use you describe, I'd say you want a cheap, well-supported rk3066 stick. Resolution is usually hard-coded in the kernel for Android sticks, but the most common rk3066 sticks have custom ROMs (which usually have automatic fullscreen for apps) and kernels (720 and 1080). The mk808 (~$42) is probably a good choice.
Sent from my Nexus 7 using xda app-developers app
ragesoss said:
For the kind of basic use you describe, I'd say you want a cheap, well-supported rk3066 stick. Resolution is usually hard-coded in the kernel for Android sticks, but the most common rk3066 sticks have custom ROMs (which usually have automatic fullscreen for apps) and kernels (720 and 1080). The mk808 (~$42) is probably a good choice.
Sent from my Nexus 7 using xda app-developers app
Click to expand...
Click to collapse
I have been debating on just what approach to take, something like what you mentioned above are go for a 'higher' end device (like the IMITO QX1 (at least I think it's supposed to be somewhat better than average reliability)). My concern is a) wifi, and b) general device reliability. Both of which sound like they can be pretty iffy on some of these sticks. I will need good wifi since this will be on my kitchen counter and there is no way I'm running an ethernet cable there .
I do want a well supported stick also, with good custom rom support (I rooted and put custom roms on my old Droid Incredible before, so I'm at least familiar with the basic idea). I understand it can be better to stick with Rockchip processor's rather than Allwinner as far as having lot's of custom roms available, is this true?
Thanks,
Jon

What is "Snapshot" and "Use host GPU" emulation option(s)?

The Snapshot option speeds up the boot of the emulator by saving a snapshot of its RAM once it has booted, and restoring from that snapshot on future uses. That way, it doesn't have to run the boot process (which is slow, because it's emulated) every time you start the emulator.
The Use Host GPU option uses the host computer's OpenGL implementation (which is probably hardware-accelerated, on your real GPU) to evaluate OpenGL commands inside the emulated system. Put another way, when a program inside the emulator uses OpenGL for graphics operations, the work goes out to your real GPU, and the result goes back into the emulator, instead of emulating a GPU (which is very slow). The result is a significant speed-up, especially when you consider that most view and canvas drawing uses OpenGL in Android ≥ 4, even in non-graphics apps.
You can't have both options turned on at once.
For more information, see the source link

[Q] Device Fragmentation - How do you solve it?

I've got a question for all you mobile developers. There are so many different mobile devices out there. What solutions, techniques or processes are you following or doing to make sure you have a high confidence that your app works on these different devices?
When building your apk , you check the versions you want to support, but there is always some limit, memory, screen size, etc.
http://developer.android.com/training/basics/supporting-devices/index.html
Thank for the link. I was wondering from an experience perspective, what elements are to look out for when testing from device to device (e.g. screen size, resolution, layout etc.)
jralabs said:
Thank for the link. I was wondering from an experience perspective, what elements are to look out for when testing from device to device (e.g. screen size, resolution, layout etc.)
Click to expand...
Click to collapse
The main issues I've seen caused by fragmentation are (in no particular order): the assumption of a portrait screen orientation (i.e. that you won't wind up with apps running in/on devices with square or landscape default orientations), assumption of a certain phone speed/heap size (pretty obvious when lots of image/drawable processing is involved and an app runs badly on an early device), assumption of at least a certain number of dps from width/height (some layouts might have overlapping elements/hidden elements on phones that have a small physical area), using the "device default" themes (some manufacturers -- wrongfully -- change these themes to make OEM apps work better, but then mess up other apps that rely on these), and (this deserves its own special spot) Samsung compatibility quirks. At least in my experience, Samsung devices tend to way more issues with fragmentation as Samsung themes/tweaks Android so heavily it occasionally breaks expected Android behavior.

EPD x keyboard = outdoor word processing?

Can somebody please tell me whether it is possible to use the yotaphone 2's EPD as a (small) display to do some basic word processing outdoor out in the sun? I.e. to attach a keyboard/mouse to it (e.g. via bluetooth), to open some simple word processing app or even sthg like google docs, and then to just start working.
I have actually been looking for quite some time for some way to do this and I can't for the life of me understand why there aren't better solutions out there. I am always pleasantly surprised when I type notes on my Kindle Paperwhite. Of course it's a lot slower than on an LCD, but I am not a fast typer anyway, and I could live with some lag - if that's the price I'd have to pay to finally be able to work outside. I have thought of the Raspberry Pi x Kindle solution (but you can only type on sthg like vim); of ebook readers with an open OS that you can attach a keaboard/mouse to (like Onyx Boox that runs on Android 4.0 - and I'm still thinking about that); or of an e ink monitor (too expensive). But it is time for me to change phones, and if this works, I might actually consider it.
If anybody has any experiences or thoughts or - better yet - videos to share on this, I'd be very grateful... Thanks!
-Stephan
I haven't tried this personally, but I am fairly certain that this would work. Android supports bluetooth keyboards. The only limitation would be that you have to use mirrored mode, because there are no proper word processing apps made native for the EPD. Plus the system might not enable external keyboard for EPD apps only. Not sure on the latter though, I don't have any bluetooth keyboard/mouse to test this with.
Jeopardy said:
I haven't tried this personally, but I am fairly certain that this would work. Android supports bluetooth keyboards. The only limitation would be that you have to use mirrored mode, because there are no proper word processing apps made native for the EPD. Plus the system might not enable external keyboard for EPD apps only. Not sure on the latter though, I don't have any bluetooth keyboard/mouse to test this with.
Click to expand...
Click to collapse
Thanks Jeopardy. Can you (or anybody else) tell me whether there is an active developer community working on those EPD apps? And also - if you have to use mirrored mode, does this mean you have to open the phone and the AMOLED screen has to be 'on'? On can all of this just stay in the 'background'? And does mirroring to an additional lag beyond the usual - and much slower - e-ink refresh rate? If anybody has any first-hand experience with this, I'd really be curious... Thanks!
sdspieg said:
Thanks Jeopardy. Can you (or anybody else) tell me whether there is an active developer community working on those EPD apps? And also - if you have to use mirrored mode, does this mean you have to open the phone and the AMOLED screen has to be 'on'? On can all of this just stay in the 'background'? And does mirroring to an additional lag beyond the usual - and much slower - e-ink refresh rate? If anybody has any first-hand experience with this, I'd really be curious... Thanks!
Click to expand...
Click to collapse
Well there are some developers, myself included, working on EPD applications. But not a lot. There should be more once Yota releases the device in USA around mid-August.
Mirrored mode does not need the color screen to be turned on. Of course behind the scenes it will wake up the system to similar state as if the AMOLED screen was on, but that's handled automatically. This means more battery use, but you should get a lot more out of it than using the color screen, especially on static apps like word processors which don't update often.
You can handle everything from the EPD. You can, for example, create a shortcut on the EPD for a word processing app, which will automatically enable mirroring and open that application. The lag on EPD when mirroring should be about the same as on native EPD applications, but of course you will notice it more because you can easily compare it to the non-laggy color side. There's only a few extra algorithms for turning the color image to nice greyscale, and some logic for creating additional "flashes" to fix ghosting when switching between apps etc. Should be fine for word processing, especially on external keyboard, provided you can write without constantly checking which letter you just pressed. The refresh rate on the EPD is about 8 frames per second, or one frame every 0.12s.
If you're seious about outdoor word processing may I suggest a rooted Nook Simple touch? It is small and light and a fraction of the price of a Yotaphone... as well as having a much bigger screen! You can pick these up for around 40GBP in good/new condition and although it will be a fair bit of messing around with rooting you are unlikely to come totally unstuck, and there is a lot of support on XDA to get you help if you do. With the NST device, you use the OTG USB mode to attach a bluetooth dongle, hard wired full sized keyboard or whatever to your desire. Pop over to the NST forum and there are many threads on this topic, but to whet your appetite here's someone who is doing that with a solar panel to power the setup!
http://forum.xda-developers.com/nook-touch/general/nook-simple-touch-solar-power-t3068849

Categories

Resources