摘要:
Memory management techniques involve establishing a memory pool having an amount of sharable memory, and dynamically allocating the sharable memory to concurrently manage multiple sets of sequenced units of digital data. In an exemplary scenario, the sets of sequenced units of digital data are sets of time-ordered media samples forming clips of media content, and the techniques are applied when media samples from two or more clips are simultaneously presentable to a user as independently-controlled streams. Variable amounts of sharable memory are dynamically allocated for preparing upcoming media samples for presentation to the user. In one possible implementation, a ratio of average data rates of individual streams is calculated, and amounts of sharable memory are allocated to rendering each stream based on the ratio. Then, the sharable memory allocated to rendering individual streams is reserved as needed to prepare particular upcoming media samples for presentation to the user.
摘要:
Memory management techniques involve establishing a memory pool having an amount of sharable memory, and dynamically allocating the sharable memory to concurrently manage multiple sets of sequenced units of digital data. In an exemplary scenario, the sets of sequenced units of digital data are sets of time-ordered media samples forming clips of media content, and the techniques are applied when media samples from two or more clips are simultaneously presentable to a user as independently-controlled streams. Variable amounts of sharable memory are dynamically allocated for preparing upcoming media samples for presentation to the user. In one possible implementation, a ratio of average data rates of individual streams is calculated, and amounts of sharable memory are allocated to rendering each stream based on the ratio. Then, the sharable memory allocated to rendering individual streams is reserved as needed to prepare particular upcoming media samples for presentation to the user.
摘要:
Various embodiments enable a device to create a pool of at least one empty application. An empty application can be configured to contain resources that are common across one or more other applications and initialize the resources for the one or more other applications effective to reduce startup time of the other applications. In one or more embodiments, an empty application can further be populated with the one or more other applications effective to cause the one or more other applications to execute. Alternately or additionally, a device can be monitored for an idle state, and, upon determining the device is in the idle state, at least one empty application can be created.
摘要:
An arrangement is provided where all applications in an interactive media environment run on a single application thread in a media player. Event queues are utilized to schedule the application thread's processing of workitems corresponding to events that occur in the environment. Workitems include methods to be invoked when the workitem is processed and arguments for the method. Workitems further include a begin time and an end time and are ordered in the event queue first by begin time followed by the order in which they were inserted into the queue. The application thread marks workitems whose begin times corresponds to the current or previous time and then processes marked workitems from the queue in order. Such processing is committed so that once the application thread begins processing of a workitem it does not stop. Workitems are dropped from the event queue if their end times have been passed.
摘要:
In an interactive media environment, a model is provided where applications, each comprising zero or more script components and zero or more markup components, are themselves handled as visual elements having a Z order. A resource-efficient rendering order is provided where the application that has focus in an interactive media environment (by virtue of its receipt of user events) is rendered first. The remaining applications are rendered in top down order, i.e., in reverse Z order. Rendering is performed by drawing into one or more graphics buffers associated with respective applications. Frames for applications are composited from the graphics buffers bottoms up, in Z order, to provide the display with the correct appearance.
摘要:
Various embodiments enable a device to create a pool of at least one empty application. An empty application can be configured to contain resources that are common across one or more other applications and initialize the resources for the one or more other applications effective to reduce startup time of the other applications. In one or more embodiments, an empty application can further be populated with the one or more other applications effective to cause the one or more other applications to execute. Alternately or additionally, a device can be monitored for an idle state, and, upon determining the device is in the idle state, at least one empty application can be created.
摘要:
In an interactive media environment, input events are distributed to a plurality of applications where each application includes zero or more script components and zero or more markup files and has a Z order which corresponds to the position of the applications' visual elements on a display. An input event processing order is utilized where the application that has focus in an interactive media environment (by virtue of its receipt of user events) is provided with the first opportunity to consume the input event. If the focused application does not consume the input event, it is then delivered to the remaining applications in top down, inverse Z order. Each application is enabled with the ability to consume an input event, pass it on to lower Z ordered applications, hide it from lower Z ordered applications, or otherwise handle it. Input event processing stops when an application consumes the input event.