streaming the OpenGL ES trace instantaneously

Chris Holmes j.chris.holmes at gmail.com
Wed Oct 21 20:45:12 PDT 2015


So if you are just attempting to measure latency, then you don't need
Apitrace at all.

Since you want to compare which is "better" - you've really only got 3
axis to play with - latency, quality, and power consumption (in that
priority order).
I'm going to assume that in general, you are focused on latency since
streaming is involved.
Measuring streaming video latency is simple - just measure the encode
time + frame size (bytes) and you can compute the amount of time it
takes to transmit that many bytes.
Measuring API remoting is also easy - use the Android emulator which
already serializes Android commands over the network.  Measure the
amount of data transferred over the socket per frame and compute the
amount of time that takes.
Technically speaking, the second measurement is inaccurate because
several OpenGL commands require waiting on a result, so you should
really use a network simulator tool to force some realistic delay
between the Android emulator and the host PC.

But then you're quickly going to figure out that unless you're talking
about something that is a ridiculously derivative case and/or a
non-hardware assist on the encode side, that API redirection is hard,
slow, and nowhere near as good as streaming.

  Chris

On Tue, Oct 20, 2015 at 9:35 PM, Tsung-en Hsiao <joshua841025 at gmail.com> wrote:
> Thanks for replying so quickly.
> The project is about streaming android app (especially games) to remote
> machines.
> I am trying to test whether streaming the OpenGL ES commands is batter than
> streaming the video.
>
> Thanks for your help again
>
> On Wed, Oct 21, 2015 at 12:27 PM, Chris Holmes <j.chris.holmes at gmail.com>
> wrote:
>>
>> Look at the Android emulator code (goldfish).  It is setup to remote the
>> opengl over sockets.
>>
>> Though given the prevalence of h.264 encoders and decoders - why would you
>> want to remote an API stream?
>>
>>   Chris
>>
>> On Oct 20, 2015 9:22 PM, "Tsung-en Hsiao" <joshua841025 at gmail.com> wrote:
>>>
>>> Hi,
>>> I am an EECS undergrad working on a project about Android remote
>>> rendering.
>>> And I am wondering if I can utilize Apitrace to stream OpenGL ES trace
>>> from Android and replay it on another machine (normal Linux PC or another
>>> android).
>>> I tried tracing OpenGL ES on Android and I found the trace result is
>>> wriiten to a file AFTER the trace is done.
>>> If I want the GL ES commands to be streamed right after they are
>>> executed,
>>> which part of source code or material should I study? Or can you give me
>>> any suggestion about this topic?
>>>
>>> Thanks a lot.
>>>
>>> --
>>> 蕭從恩 (Tsung-en Hsiao)
>>> Electrical Engineering and Computer Science Honors Program & Computer
>>> Center, Department of Computer Science,
>>> National Chiao Tung University, Taiwan
>>>
>>> _______________________________________________
>>> apitrace mailing list
>>> apitrace at lists.freedesktop.org
>>> http://lists.freedesktop.org/mailman/listinfo/apitrace
>>>
>
>
>
> --
> 蕭從恩 (Tsung-en Hsiao)
> Electrical Engineering and Computer Science Honors Program & Computer
> Center, Department of Computer Science,
> National Chiao Tung University, Taiwan



-- 
Like the famous mad philosopher said, when you stare into the void,
the void stares also; but if you cast into the void, you get a type
conversion error.  -- Charles Stross


More information about the apitrace mailing list