Scott is correct about the determining of the SW pipeline. To add to that, if knowing whether you are running on SW is sufficient, you can assume (for now as well as the foreseeable future) that 3D is supported only when running on a HW pipeline. So checking for Platform.isSupported(ConditionalFeature.SCENE3D) is a good indication that you are running on the SW pipeline (or on a device that lacks NPOT texture support although the intersection of cards that support Prism but not NPOT is vanishingly small on desktop platforms).

I think the suggestion about starting out assuming that animation will be OK and then backing off is a good one, if it is practical for your application.

-- Kevin


Scott Palmer wrote:
I believe it is possible, though not through public API, to determine if you are using the software pipeline or not. If that isn't enough, how about just adapt at runtime by starting out with the more demanding animations and falling back automatically if the framerate doesn't meet your minimum requirement. Then at least you will be drawing to the screen meaningful info and the user may never notice. You could even hide the measurement in an animated splashscreen or something like that.

Scott


On Thu, Jul 31, 2014 at 7:25 PM, Kevin Rushforth <kevin.rushfo...@oracle.com <mailto:kevin.rushfo...@oracle.com>> wrote:

    Yeah, that would be a bit of a problem. Without doing something
    like that, though, it would just be an approximation, since the
    performance of animation depends on the complexity of the
    geometry, the performance of the GPU, the performance of the CPU,
    etc.


    -- Kevin


    Mike Hearn wrote:


            Would it be feasible for you to do some measurements /
        calibration
            on the system and make the determination based on measured
        speed?
            That seems more to the point anyway.


        I don't know how to do that without actually drawing to the
        screen, which I don't want to do.


Reply via email to