ES2882642T3 - Método y aparato de renderización de juegos, y medio de almacenamiento no transitorio legible por ordenador - Google Patents

Método y aparato de renderización de juegos, y medio de almacenamiento no transitorio legible por ordenador Download PDF

Info

Publication number
ES2882642T3
ES2882642T3 ES19189588T ES19189588T ES2882642T3 ES 2882642 T3 ES2882642 T3 ES 2882642T3 ES 19189588 T ES19189588 T ES 19189588T ES 19189588 T ES19189588 T ES 19189588T ES 2882642 T3 ES2882642 T3 ES 2882642T3
Authority
ES
Spain
Prior art keywords
layer
rendering
instruction
opengl
bridge
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
ES19189588T
Other languages
English (en)
Inventor
Senlin Li
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangdong Oppo Mobile Telecommunications Corp Ltd
Original Assignee
Guangdong Oppo Mobile Telecommunications Corp Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guangdong Oppo Mobile Telecommunications Corp Ltd filed Critical Guangdong Oppo Mobile Telecommunications Corp Ltd
Application granted granted Critical
Publication of ES2882642T3 publication Critical patent/ES2882642T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/31Programming languages or programming paradigms
    • G06F8/315Object-oriented languages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • G06F9/45529Embedded in an application, e.g. JavaScript in a Web browser
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4488Object-oriented
    • G06F9/449Object-oriented method invocation or resolution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/44Encoding
    • G06F8/443Optimisation
    • G06F8/4432Reducing the energy consumption
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/40Filling a planar surface by adding surface attributes, e.g. colour or texture
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/02Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the way in which colour is displayed
    • G09G5/026Control of mixing and/or overlay of colours in general
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/39Control of the bit-mapped memory
    • G09G5/395Arrangements specially adapted for transferring the contents of the bit-mapped memory to the screen
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2360/00Aspects of the architecture of display systems
    • G09G2360/12Frame memory handling
    • G09G2360/121Frame memory handling using a cache memory
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Human Computer Interaction (AREA)
  • Computer Graphics (AREA)
  • Computing Systems (AREA)
  • User Interface Of Digital Computer (AREA)
  • Image Generation (AREA)

Abstract

Un método de renderización de juegos que se ejecuta por un dispositivo terminal (100, 500), el dispositivo terminal que comprende una capa JavaScript (JS) (21), una capa puente (22) y una capa de estructura del sistema (23), el método que comprende: la capa JS que transmite a la capa puente instrucciones de dibujo almacenadas en caché comprendidas en un conjunto de instrucciones, cuando el número de instrucciones de dibujo almacenadas en caché comprendidas en el conjunto de instrucciones es mayor o igual a un primer umbral (201); la capa puente que obtiene un resultado de la renderización mediante el uso de una capacidad OpenGL para procesar las instrucciones de dibujo (202); la capa puente que transmite el resultado de la renderización a la capa de estructura del sistema (203); y la capa de estructura del sistema que realiza la renderización en base al resultado de la renderización (204).

Description

DESCRIPCIÓN
Método y aparato de renderización de juegos, y medio de almacenamiento no transitorio legible por ordenador Campo técnico
La presente descripción se refiere al campo de la tecnología electrónica, y más particularmente a un método y aparato de renderización de juegos, y un medio de almacenamiento no transitorio legible por ordenador.
Antecedentes
Con la popularización y el uso generalizado de dispositivos electrónicos (tales como teléfonos móviles, tabletas, etc.), los dispositivos electrónicos pueden soportar cada vez más aplicaciones, y las funciones de los dispositivos electrónicos se vuelven cada vez más poderosas, lo que provoca que los dispositivos electrónicos evolucionen hacia la diversificación y la individualización, y se conviertan en productos electrónicos indispensables en la vida de los usuarios.
En particular, los juegos se usan ampliamente en dispositivos electrónicos. Para los juegos, los efectos de renderización afectan directamente la experiencia visual del usuario. Por lo tanto, la forma de mejorar el rendimiento de la renderización debe resolverse con urgencia.
El documento WO2018050003A1 describe un método y un aparato de renderización de elementos de página web de lienzo en 3D y un dispositivo electrónico, y un método y aparato de renderización de elementos de página web de lienzo en 2D y un dispositivo electrónico. El método de renderización de elementos de página web de lienzo en 3D incluye: interceptar una instrucción de dibujo WebGL con respecto a un elemento de página web de lienzo en 3D (S101); transmitir información de instrucción que transporta la instrucción de dibujo WebGL a una capa de estructura del sistema (S103); de acuerdo con la información de instrucción, generar una instrucción de dibujo OpenGL correspondiente a la instrucción de dibujo WebGL (S105); y dibujar la instrucción de dibujo OpenGL en una ventana de renderización OpenGL del sistema, y formar un resultado de la renderización del elemento de página web de lienzo en 3D (S107).
El documento US2007192818A1 describe un sistema completo para crear, implementar y ejecutar aplicaciones multimedia enriquecidas en varios terminales y, en particular, dispositivos integrados. Una aplicación multimedia enriquecida se compone de uno o más objetos multimedia, ya sean de audio o visuales, sintéticos o naturales, metadatos, y su protección se compone y renderiza en un dispositivo de visualización a lo largo del tiempo en respuesta a la lógica preprogramada y a la interacción del usuario. Se describe la arquitectura de dicho terminal, cómo implementarlo en una variedad de sistemas operativos y dispositivos, y cómo ejecuta aplicaciones multimedia enriquecidas, interactivas y descargadas, y la arquitectura de dichas aplicaciones.
El documento CN107911708A describe un método de visualización de bombardeo, un método de transmisión en vivo y dispositivos relacionados. El método de visualización de bombardeo se aplica a una aplicación de juego en el dispositivo de visualización de bombardeo para la transmisión en vivo del juego. El método de visualización de bombardeo comprende las etapas en las que se inicia un juego en una aplicación de transmisión en vivo, y las imágenes del juego de la aplicación de juego se transmiten en modo en vivo por medio de la aplicación de transmisión en vivo; se construye un canal de comunicación privado con la aplicación de transmisión en vivo; los datos de bombardeo que adquiere la aplicación de transmisión en vivo se adquieren a través del canal de comunicación privado, en donde los datos de bombardeo son datos de comentarios publicados para las imágenes del juego que se transmiten en el modo en vivo por los usuarios correspondientes a varios terminales; y los datos de bombardeo se renderizan en una unidad de procesamiento de gráficos (GPU), y los datos de bombardeo renderizados se superponen en la imagen del juego actual que se va a visualizar. En consecuencia, el bombardeo se puede visualizar durante la transmisión en vivo del juego y se mejora la interacción entre los usuarios.
El documento CN106453852A describe un sistema y un método de ajuste del color de la pantalla para un terminal Android. El sistema comprende una pluralidad de módulos de configuración de escenas, un módulo de gestión de aplicaciones, un módulo de conversión de raíz de escena, un servidor SurfaceFlinger y una pantalla de visualización; todos los extremos de salida de señal de la pluralidad de módulos de configuración de escena se conectan con el extremo de entrada de señal del módulo de gestión de aplicaciones; el extremo de entrada de señal del módulo de conversión de raíz de escena se conecta con el extremo de salida de señal del módulo de gestión de aplicaciones; el extremo de salida de señal del módulo de conversión de raíz de escena se conecta con el extremo de entrada de señal del servidor SurfaceFlinger; el extremo de salida de señal del servidor SurfaceFlinger se conecta con la pantalla de visualización; después de recibir una instrucción de cambio de escena, los módulos de configuración de escena envían información de raíz de escena al módulo de gestión de aplicaciones; y el módulo de conversión de raíz de escena convierte la información de raíz en un valor de SurfaceFlinger y le pide al SurfaceFlinger que muestre el color de escena correspondiente en una pantalla. En diferentes modos, se pueden proporcionar diferentes experiencias y un usuario puede elegir un modo apropiado para usar.
El documento US2016162171A1 describe un método, un aparato y un medio de almacenamiento para procesar una aplicación HTML5 Canvas, dicho método que comprende: en el primer subproceso: la CPU ejecuta códigos de una aplicación de dibujo gráfico para dibujar cada cuadro de lienzo, cuando se detecta que se necesita renderización, todos los comandos de dibujo de lienzo de dicho cuadro de lienzo se almacenan en caché sin ejecutar la renderización correspondiente, y cuando se completa el dibujo de dicho cuadro de lienzo, todos los comandos de dibujo de lienzo almacenados en caché de dicho cuadro de lienzo se envían a un segundo subproceso; en el segundo subproceso, la CPU llama a la GPU para ejecutar todos los comandos de dibujo de lienzo de cada cuadro de lienzo que envió el primer subproceso, y la GPU realiza la renderización en cada cuadro de lienzo de acuerdo con los comandos de dibujo del lienzo. La presente invención realiza el procesamiento de subprocesos concurrentes mediante el almacenamiento en caché de los comandos de dibujo de manera que los códigos de JavaScript y la renderización se puedan ejecutar simultáneamente. Como resultado, los recursos de diferentes subprocesos se usan por completo para aumentar en gran medida la velocidad de respuesta de la aplicación HTML5 Canvas y mejorar el rendimiento de la aplicación HTML5 Canvas.
Resumen
Las implementaciones de la presente descripción proporcionan un método y aparato de renderización de juegos, y un medio de almacenamiento no transitorio legible por ordenador, que pueden mejorar el rendimiento de la renderización y reducir el consumo de energía del dispositivo terminal.
La presente invención se define de acuerdo a las reivindicaciones independientes. Las modalidades específicas se definen en las reivindicaciones dependientes.
Puede verse que, en las implementaciones de la presente descripción, la capa JS invoca directamente la capacidad OpenGL de la capa subyacente del sistema a través de la capa puente, mejorando de esta manera el rendimiento de la renderización. Además, el procesamiento de las instrucciones de dibujo se realiza en conjunto solo cuando el número de instrucciones de dibujo almacenadas en caché en el conjunto de instrucciones excede un cierto número, lo que reduce el número de veces para invocar la capacidad OpenGL y reduce el consumo de energía del dispositivo terminal.
Breve descripción de los dibujos
Para describir más claramente las soluciones técnicas en las implementaciones de la presente descripción o de la técnica relacionada, a continuación se introducen brevemente los dibujos acompañantes que se requieren para describir las implementaciones de la presente descripción o de la técnica relacionada. Aparentemente, los dibujos acompañantes en la siguiente descripción ilustran solamente algunas implementaciones de la presente descripción. Los expertos en la técnica también pueden obtener otros dibujos en base a estos dibujos acompañantes sin esfuerzos creativos.
La Figura 1 es un diagrama estructural esquemático de un dispositivo terminal de acuerdo con una implementación de la presente descripción.
La Figura 2 es un diagrama de flujo esquemático de un método de renderización de juegos de acuerdo con una implementación de la presente descripción.
La Figura 3 es un diagrama esquemático que muestra una distribución de una capa de estructura del sistema, una capa puente y una capa JS de acuerdo con una implementación de la presente descripción.
La Figura 4 es un diagrama de flujo esquemático de otro método de renderización de juegos de acuerdo con una implementación de la presente descripción.
La Figura 5 es otro diagrama estructural esquemático del dispositivo terminal de acuerdo con una implementación de la presente descripción.
La Figura 6 es un diagrama estructural esquemático de un aparato de renderización de juegos de acuerdo con una implementación de la presente descripción.
La Figura 7 es un diagrama estructural esquemático de otro aparato de renderización de juegos de acuerdo con una implementación de la presente descripción.
Descripción detallada
Para permitir que los expertos en la técnica comprendan mejor las soluciones técnicas de la presente descripción, a continuación se describirán las soluciones técnicas en las implementaciones de la presente descripción de una manera clara y completa con referencia a los dibujos acompañantes en las implementaciones de la presente descripción. Aparentemente, las implementaciones descritas son simplemente algunas en lugar de todas las implementaciones de la presente descripción. Todas las demás implementaciones que obtengan los expertos en la técnica en base a las implementaciones de la presente descripción sin esfuerzos creativos estarán dentro del alcance de protección de la presente descripción.
Los términos "primero", "segundo", "tercero", "cuarto" y similares usados en la descripción, las reivindicaciones y los dibujos acompañantes de la presente descripción se usan para distinguir entre diferentes objetos en lugar de describir un orden particular. Los términos "incluir", "comprender" y "tener", así como las variaciones de los mismos, se destinan a cubrir la inclusión no exclusiva. Por ejemplo, un proceso, un método, un sistema, un producto o un aparato que incluye una serie de etapas o unidades no se limita a las etapas o unidades enumeradas, por el contrario, opcionalmente puede incluir otras etapas o unidades que no se enumeran; alternativamente, pueden incluirse otras etapas o unidades inherentes al proceso, método, producto o dispositivo.
El término "implementación" al que se hace referencia en la presente descripción significa que una funcionalidad, estructura o característica particular descrita junto con la implementación puede contenerse en al menos una implementación de la presente descripción. La frase que aparece en diferentes lugares en la descripción no se refiere necesariamente a la misma implementación, ni se refiere a una implementación independiente o alternativa que es mutuamente excluyente con otras implementaciones. Los expertos en la técnica entenderán expresa e implícitamente que una implementación descrita en la presente descripción puede combinarse con otras implementaciones.
De acuerdo con una implementación de la presente descripción, se proporciona un método de renderización de juegos, que se aplica a un dispositivo terminal. El dispositivo terminal incluye una capa JavaScript (JS), una capa puente y una capa de estructura del sistema. El método incluye lo siguiente. La capa JS transmite instrucciones de dibujo almacenadas en caché en un conjunto de instrucciones a la capa puente, cuando un número de instrucciones de dibujo almacenadas en caché en el conjunto de instrucciones es mayor o igual que un primer umbral. La capa puente obtiene un resultado de la renderización mediante el uso de una capacidad OpenGL para procesar las instrucciones de dibujo y transmite el resultado de la renderización a la capa de estructura del sistema. La capa de estructura del sistema realiza la renderización en base al resultado de la renderización.
De acuerdo con una implementación de la presente descripción, se proporciona un aparato de renderización de juegos, que se aplica a un dispositivo terminal. El dispositivo terminal incluye una capa JS, una capa puente y una capa de estructura del sistema. El aparato de renderización de juegos incluye una unidad de transmisión, una unidad de procesamiento y una unidad de renderización. La unidad de transmisión se configura para transmitir instrucciones de dibujo almacenadas en caché en un conjunto de instrucciones, a la capa puente, cuando un número de instrucciones de dibujo almacenadas en caché en el conjunto de instrucciones es mayor o igual que un primer umbral. La unidad de procesamiento se configura para obtener un resultado de la renderización mediante el uso de una capacidad OpenGL para procesar las instrucciones de dibujo. La unidad de transmisión se configura además para transmitir el resultado de la renderización a la capa de estructura del sistema. La unidad de renderización se configura para realizar la renderización en base al resultado de la renderización.
De acuerdo con una implementación de la presente descripción, se proporciona un dispositivo terminal. El dispositivo terminal incluye al menos un procesador y un almacenamiento legible por ordenador que se acopla al menos a un procesador. El almacenamiento legible por ordenador almacena programas informáticos en el mismo, que cuando se ejecutan por el procesador, hacen que el procesador: transmita instrucciones de dibujo almacenadas en caché en un conjunto de instrucciones a una capa puente mediante una capa JS, cuando un número de las instrucciones de dibujo almacenadas en caché en el conjunto de instrucciones es mayor o igual que un primer umbral; obtenga un resultado de la renderización mediante la capa puente mediante el uso de una capacidad OpenGL para procesar las instrucciones de dibujo; transmita el resultado de la renderización a una capa de estructura del sistema mediante la capa puente; y realice la renderización en base al resultado de la renderización mediante la capa de estructura del sistema.
De acuerdo con una implementación de la presente descripción, se proporciona un medio de almacenamiento no transitorio legible por ordenador. El medio de almacenamiento no transitorio legible por ordenador se configura para almacenar programas informáticos que, cuando se ejecutan por un procesador, hacen que el procesador: transmita instrucciones de dibujo almacenadas en caché en un conjunto de instrucciones a una capa puente mediante una capa JS, cuando un número de las instrucciones de dibujo almacenadas en caché en el conjunto de instrucciones es mayor o igual que un primer umbral; obtenga un resultado de la renderización mediante la capa puente mediante el uso de una capacidad OpenGL para procesar las instrucciones de dibujo; transmita el resultado de la renderización a una capa de estructura del sistema mediante la capa puente; y realice la renderización en base al resultado de la renderización mediante la capa de estructura del sistema.
De acuerdo con una implementación de la presente descripción, se proporciona un producto de programa informático. El producto de programa informático incluye un medio de almacenamiento no transitorio legible por ordenador que almacena programas informáticos que, cuando se ejecutan por un procesador, hacen que el procesador: transmita instrucciones de dibujo almacenadas en caché en un conjunto de instrucciones a una capa puente mediante una capa JS, cuando un número de las instrucciones de dibujo almacenadas en caché en el conjunto de instrucciones es mayor o igual que un primer umbral; obtenga un resultado de la renderización mediante la capa puente mediante el uso de una capacidad OpenGL para procesar las instrucciones de dibujo; transmita el resultado de la renderización a una capa de estructura del sistema mediante la capa puente; y realice la renderización en base al resultado de la renderización mediante la capa de estructura del sistema.
Las implementaciones de la presente descripción se describirán en detalle a continuación con referencia a los dibujos acompañantes.
Los dispositivos terminales, que también se conocen como equipo de usuario (UE), son dispositivos que proporcionan una función de comunicación de voz y/o datos a un usuario, por ejemplo, dispositivos portátiles o dispositivos en un vehículo que tienen una función de conexión inalámbrica. Los terminales comunes incluyen, por ejemplo, teléfonos móviles, tabletas, ordenadores portátiles, PDA, dispositivos móviles de Internet (MID), dispositivos ponibles tales como relojes inteligentes, pulseras inteligentes, podómetros, etc.
La Figura 1 es un diagrama estructural esquemático de un dispositivo terminal 100 de acuerdo con una implementación de la presente descripción. El dispositivo terminal 100 incluye un procesador 101, una memoria 102, un procesador de señales 103, un transceptor 104, una pantalla de visualización 106, un altavoz 107, un micrófono 108, una memoria de acceso aleatorio (RAM) 109, una cámara 105, un sensor 110 y similares. La memoria 102, el procesador de señales 103, la pantalla de visualización 106, el altavoz 107, el micrófono 108, la RAM 109, la cámara 105 y el sensor 110 se conectan al procesador 101, y el transceptor 104 se conecta al procesador de señal 103. La pantalla de visualización 106 puede ser una pantalla de cristal líquido (LCD), un panel de diodos emisores de luz orgánicos (OLED), un panel de diodos emisores de luz inorgánicos, un panel de diodos emisores de luz orgánicos de matriz activa (AMOLED) y similares.
La cámara 105 puede ser una cámara ordinaria o una cámara de infrarrojos, lo que no se limita en la presente descripción. La cámara 105 puede ser una cámara frontal o una cámara trasera, lo que no se limita en la presente descripción.
El sensor 110 incluye al menos uno de los siguientes: un sensor fotosensible, un giroscopio, un sensor de proximidad por infrarrojos, un sensor de huellas dactilares, un sensor de presión y similares. El sensor fotosensible, que también se conoce como sensor de luz ambiental, se usa para detectar el brillo de la luz ambiental. El sensor fotosensible puede incluir un elemento fotosensible y un convertidor de analógico a digital. El elemento fotosensible se configura para convertir una señal óptica captada en una señal eléctrica, y el convertidor de analógico a digital se configura para convertir la señal eléctrica en una señal digital. Opcionalmente, el sensor fotosensible puede incluir además un amplificador de señal. El amplificador de señal puede amplificar la señal eléctrica que convierte el elemento fotosensible y enviarla al convertidor de analógico a digital. El elemento fotosensible puede incluir al menos uno de los siguientes elementos: un fotodiodo, un fototransistor, una fotorresistencia y una fotocélula de silicio.
El procesador 101 es un centro de control del dispositivo terminal 100 y conecta varias partes de todo el dispositivo terminal a través de varias interfaces y líneas, ejecuta programas de software y/o módulos que se almacenan en la memoria e invoca datos que se almacenan en la memoria para realizar varias funciones del dispositivo terminal y procesar datos, monitoreando de esta manera el dispositivo terminal como un todo.
El procesador 101 puede integrar un procesador de aplicaciones y un procesador de módem, donde el procesador de aplicaciones procesa principalmente el sistema operativo, las interfaces de usuario, las aplicaciones y similares, y el procesador de módem procesa principalmente la comunicación inalámbrica. Debe entenderse que el procesador de módem que se mencionó anteriormente también puede no estar integrado en el procesador.
La memoria 102 se configura para almacenar programas de software 1021 y/o módulos, y el procesador 101 ejecuta diversas aplicaciones funcionales y procesamiento de datos del dispositivo terminal ejecutando los programas de software y/o módulos que se almacenan en la memoria 102. La memoria 102 puede incluir principalmente un área de almacenamiento de programas y un área de almacenamiento de datos. El área de almacenamiento de programas puede almacenar un sistema operativo, los programas de software necesarios para al menos una función y similares. El área de almacenamiento de datos puede almacenar datos que se crean de acuerdo con el uso del dispositivo terminal o similar. Además, la memoria 102 puede incluir una RAM de alta velocidad, y puede incluir además una memoria no volátil tal como al menos un dispositivo de almacenamiento en disco, un dispositivo de memoria flash u otro dispositivo de almacenamiento de estado sólido volátil.
La Figura 2 es un diagrama de flujo esquemático de un método de renderización de juegos de acuerdo con una implementación de la presente descripción. El método se aplica al dispositivo terminal 100 anterior. El dispositivo terminal 100 incluye una capa JS 21, una capa puente 22 y una capa de estructura del sistema 23. Como se ilustra en la Figura 3, la capa de estructura del sistema 23 puede entenderse como una capa subyacente, que es responsable de proporcionar las capacidades del sistema que se relacionan con la capa subyacente del dispositivo terminal 100, tal como la capacidad de acceder a la memoria, la capacidad de realizar llamadas telefónicas, etc. La capa JS 21 puede entenderse como una capa superior, que es responsable de ejecutar minijuegos. Los códigos de juego de los minijuegos se pueden ejecutar en la capa JS 21, y la capa JS 21 también se puede llamar capa JavaScript. La capa puente 22 puede entenderse como una capa intermedia, que se configura para conectar la capa de estructura del sistema 23 y la capa JS 21. La capa puente 22 puede encapsular las capacidades de la capa de estructura del sistema 23 en una interfaz de programación de aplicaciones (API) unificada que puede invocarse directamente por la capa JS 21. La capa de estructura del sistema 23, la capa puente 22 y la capa JS 21 en las implementaciones de la presente descripción pueden entenderse cada una como un fragmento de códigos. Por ejemplo, la capa de estructura del sistema 23 puede ser un fragmento de códigos de programa escritos en lenguaje ensamblador. La capa puente 22 puede ser un fragmento de códigos de programa escritos en lenguaje C +. La capa puente 22 también puede denominarse capa C +. La capa JS 21 puede ser un fragmento de códigos de programa escritos en lenguaje Java. El método de renderización de juegos de la presente descripción se puede aplicar a diferentes tipos de sistemas, tales como el sistema Android y el sistema IOS.
El método de renderización de juegos incluye lo siguiente.
En el bloque 201, cuando un número de instrucciones de dibujo almacenadas en caché en un conjunto de instrucciones es mayor o igual a un primer umbral, la capa JS transmite a la capa puente las instrucciones de dibujo almacenadas en caché en el conjunto de instrucciones.
En la implementación, el método de renderización de juegos que proporciona la presente descripción se configura para renderizar minijuegos. El minijuego es una especie de aplicación de juego que se puede jugar sin descargar e instalar, que es similar a los pequeños programas de la aplicación WeChat.
El conjunto de instrucciones se configura para almacenar en caché las instrucciones de dibujo, tales como las instrucciones de dibujo WebGL. El conjunto de instrucciones puede almacenarse en un área designada del dispositivo terminal y puede invocarse por la capa JS.
En la implementación, para el dispositivo terminal, diferentes minijuegos tienen diferentes conjuntos de instrucciones, para evitar que la capa JS cometa errores de invocación.
Las áreas de almacenamiento de los conjuntos de instrucciones correspondientes a diferentes minijuegos pueden ser diferentes (por ejemplo, un conjunto de instrucciones "a" correspondiente a un minijuego "A" se almacena en un área designada "1", un conjunto de instrucciones "b" correspondiente a un minijuego "B" se almacena en un área designada "2", etc.) o las mismas (por ejemplo, el conjunto de instrucciones "a" correspondiente al minijuego "A" y el conjunto de instrucciones "b" correspondiente al minijuego "B" se almacenan ambos en el área designada "1", etc.). La biblioteca de gráficos web (WebGL) es una especie de protocolo de dibujo 3D. El tipo de estándar de tecnología de dibujo permite combinar JavaScript con la biblioteca de gráficos abierta (OpenGL) ES 2.0. Al agregar un enlace de JavaScript de OpenGL ES 2.0, la WebGL puede proporcionar renderización 3D acelerada por hardware.
En la implementación, el primer umbral puede definirse por un usuario, o puede personalizarse por el dispositivo terminal, lo que no se limita en la presente descripción.
El primer umbral es, por ejemplo, 10, 20, 23, 30 u otros valores. En una implementación, para dispositivos terminales, los primeros umbrales correspondientes a diferentes minijuegos son los mismos, para facilitar la gestión del dispositivo terminal.
En otra implementación, para el dispositivo terminal, los primeros umbrales correspondientes a diferentes minijuegos son diferentes (por ejemplo, el minijuego "A" corresponde a un primer umbral "1", el minijuego "B" corresponde a un primer umbral "2", etc.), para mejorar la diversidad. El primer umbral correspondiente a un minijuego con un requisito de nivel de renderización más bajo es mayor, mientras que el primer umbral correspondiente a un minijuego con un requisito de nivel de renderización más alto, es menor.
En una implementación, la acción en el bloque 201 se implementa específicamente como sigue. La capa JS adquiere todas las instrucciones de dibujo almacenadas en caché en el conjunto de instrucciones y transmite las instrucciones de dibujo adquiridas a un enlace de Java Script (JSB), y el JSB transmite las instrucciones de dibujo a la capa puente. El j Sb es un motor de conexión que se configura para establecer comunicación entre diferentes plataformas (tal como la capa puente, la capa de estructura del sistema, etc.) y la capa JS.
En el bloque 202, la capa puente obtiene un resultado de la renderización mediante el uso una capacidad OpenGL para procesar las instrucciones de dibujo.
En la implementación, OpenGL se refiere a una interfaz de programa gráfica profesional que define un lenguaje de programación cruzado y una especificación de interfaz de programación multiplataforma. OpenGL es una interfaz de software independiente del hardware. La interfaz de software proporciona funciones a las que puede acceder otro software o hardware.
La capacidad OpenGL se refiere a proporcionar algunas funciones para permitir que otro software o hardware invoque estas funciones para implementar algunas funciones, tales como funciones de procesamiento de instrucciones, funciones de renderización, y demás.
En una implementación, las acciones en el bloque 202 se implementan específicamente como sigue. La capa puente obtiene información de instrucción al analizar las instrucciones de dibujo, usa la capacidad OpenGL para generar un comando de dibujo OpenGL correspondiente a las instrucciones de dibujo de acuerdo con la información de instrucción, y forma un resultado de la renderización dibujando el comando de dibujo OpenGL en una ventana de renderización OpenGL.
En la implementación, la información de instrucción incluye, entre otros, un nombre de instrucción y parámetros de instrucción, por ejemplo, para una instrucción de dibujo: drawCircle (200, 300, 5), el nombre de la instrucción es: drawCircle y los parámetros de instrucción son: la coordenada x es 200, la coordenada y es 300, el radio es 5. Además, la acción donde la capa puente usa la capacidad OpenGL para generar el comando de dibujo OpenGL correspondiente a las instrucciones de dibujo de acuerdo con la información de instrucción, se implementa específicamente como sigue. La capa puente usa la capacidad OpenGL para generar el comando de dibujo OpenGL de acuerdo con una regla de conversión de instrucción preestablecida y la información de instrucción. Por ejemplo, el comando de dibujo OpenGL con una forma preestablecida (es decir, una forma de expresión estandarizada de la información de instrucción) se forma preestableciendo una regla de conversión de instrucción para empalmar información de instrucción diversa.
En el bloque 203, la capa puente transmite el resultado de la renderización a la capa de estructura del sistema. Las acciones en el bloque 203 se implementan específicamente como sigue. La capa puente almacena en caché el resultado de la renderización en un búfer de píxeles y transmite el resultado de la renderización a la capa de estructura del sistema intercambiando datos con un búfer de pantalla a través del búfer de píxeles.
En el bloque 204, la capa de estructura del sistema realiza la renderización en base al resultado de la renderización. Las acciones en el bloque 204 se implementan específicamente como sigue. La capa de estructura del sistema transmite el resultado de la renderización a un deflector de superficie, sintetiza el contenido de la pantalla a través del deflector de superficie en base al resultado de la renderización y visualiza el contenido de la pantalla sintetizada en una pantalla de visualización del dispositivo terminal.
En la implementación, el deflector de superficie es un servicio independiente, que recibe las superficies de todas las ventanas como entrada, calcula las posiciones de cada superficie en una imagen final sintetizada de acuerdo con los parámetros de cada superficie, tales como ZOrder, transparencia, tamaño, ubicación, etc., y luego las posiciones se transmiten a HWComposer u OpenGL para generar un búfer de visualización final, que luego se muestra en un dispositivo de visualización específico.
Puede verse que, en las implementaciones de la presente descripción, la capa JS invoca directamente la capacidad OpenGL de la capa subyacente del sistema a través de la capa puente, mejorando de esta manera el rendimiento de la renderización. Además, el procesamiento de las instrucciones de dibujo se realiza en conjunto solo cuando el número de instrucciones de dibujo almacenadas en caché en el conjunto de instrucciones excede un cierto número, lo que reduce el número de veces para invocar la capacidad OpenGL y reduce el consumo de energía del dispositivo terminal.
En una implementación de la presente descripción, el método incluye además lo siguiente.
La capa JS recibe un código de servicio de juego.
La capa JS invoca una capacidad WebGL invocando una API WebGL.
La capa JS obtiene una instrucción de operación mediante el uso de la capacidad WebGL para analizar el código de servicio de juego.
Cuando la instrucción de operación no es una instrucción de consulta, la capa JS determina si el número de instrucciones de dibujo almacenadas en caché en el conjunto de instrucciones es mayor o igual que el primer umbral.
En la implementación, la capacidad WebGL se refiere a proporcionar algunas funciones para permitir que otro software o hardware invoque estas funciones para implementar algunas funciones, tales como funciones de análisis de código, funciones de procesamiento de instrucciones, y demás.
El código de servicio de juego se refiere a un código de desarrollo de un desarrollador de juegos, que puede entenderse como el código para ejecutar la lógica del juego. Dado que el código de servicio de juego es el código para ejecutar la lógica del juego, la capa JS puede obtener algunas instrucciones de operación para ejecutar la lógica del juego analizando el código de servicio de juego.
En la implementación, las instrucciones que se relacionan con el juego incluyen instrucciones de dibujo, instrucciones de consulta y similares.
Además, el método incluye lo siguiente.
Cuando la instrucción de operación es una instrucción de consulta, la capa JS transmite la instrucción de operación a la capa puente.
La capa puente obtiene un resultado de consulta mediante el uso de la capacidad OpenGL para procesar la instrucción de operación.
La capa puente transmite el resultado de consulta a la capa JS.
Específicamente, la acción donde la capa JS transmite la instrucción de operación a la capa puente se implementa específicamente como sigue. La capa JS obtiene la información de instrucción contenida en la instrucción de operación analizando la instrucción de operación y luego transmite la información de instrucción que obtiene a la capa puente.
La información de instrucción contenida en la instrucción de operación incluye, entre otros, un nombre de instrucción y parámetros de instrucción.
Además, la capa JS puede transmitir la información de instrucción transportada por la instrucción de operación a la capa puente por medio de transmisión directa, o por medio de transmisión indirecta, por ejemplo, generando un comando de consulta correspondiente a la instrucción de operación de acuerdo con la regla de conversión de instrucción preestablecida y la información de instrucción, y luego transmitiendo el comando de consulta a la capa puente. La forma de procesamiento puede hacer que los enlaces subsiguientes analicen el comando con facilidad. Además, el método incluye lo siguiente.
Cuando la instrucción de operación no es una instrucción de consulta y el número de instrucciones de dibujo almacenadas en caché en el conjunto de instrucciones es menor que el primer umbral, la capa JS almacena en caché la instrucción de operación en el conjunto de instrucciones.
Puede verse que, en la implementación de la presente descripción, las instrucciones incluyen instrucciones de consulta e instrucciones que no son de consulta. Cuando la instrucción es una instrucción de consulta, la capacidad OpenGL se invoca directamente. Cuando la instrucción es una instrucción que no es de consulta, las capacidades OpenGL se invocan solo cuando el número de instrucciones almacenadas en caché alcanza un cierto valor, lo que mejora el rendimiento de la renderización.
En una implementación de la presente descripción, el método incluye además lo siguiente.
La capa de estructura del sistema realiza la actualización de la pantalla y muestra cada imagen de cuadro actualizada en la pantalla de visualización del dispositivo terminal a través de Ondrawframe.
La capa de estructura del sistema invoca un renderizado nativo y monitorea si existe un evento tic en la capa JS mediante el uso del renderizado nativo para invocar una función de evento tic de despacho de la capa puente a través de la interfaz nativa de Java (JNI).
Cuando existe un evento tic, se realiza la acción de la capa JS que transmite a la capa puente las instrucciones de dibujo almacenadas en caché en el conjunto de instrucciones.
En la implementación, JNI proporciona varias API para lograr la comunicación entre Java y otros lenguajes (principalmente C&C++), lo que permite que los códigos de Java interactúen con los códigos escritos en otros lenguajes.
De acuerdo con la implementación que se ilustra en la Figura 2, la Figura 4 es un diagrama de flujo esquemático de otro método de renderización de juegos de acuerdo con una implementación de la presente descripción. El método se aplica al dispositivo terminal 100 que se mencionó anteriormente. El dispositivo terminal 100 incluye la capa JS 21, la capa puente 22 y la capa de estructura del sistema 23. La distribución de la capa de estructura del sistema 23, la capa puente 22 y la capa JS 21 se ilustra en la Figura 3. El método de renderización de juegos incluye lo siguiente.
En el bloque 401, la capa JS recibe un código de servicio de juego.
En el bloque 402, la capa JS invoca una capacidad WebGL invocando una API WebGL y obtiene una instrucción de operación mediante el uso de la capacidad WebGL para analizar el código de servicio de juego.
En el bloque 403, la capa JS determina si la instrucción de operación es una instrucción de consulta.
Si la instrucción de operación no es una instrucción de consulta, se realiza la acción en el bloque 404.
Si la instrucción de operación es una instrucción de consulta, se realiza la acción en el bloque 413.
En el bloque 404, la capa JS determina si un número de instrucciones de dibujo almacenadas en caché en un conjunto de instrucciones es mayor o igual que un primer umbral.
Si el número es mayor o igual que el primer umbral, se realiza la acción en el bloque 405.
Si el número no es mayor o igual que el primer umbral, se realiza la acción en el bloque 416.
En el bloque 405, la capa JS transmite a la capa puente las instrucciones de dibujo almacenadas en caché en el conjunto de instrucciones.
En el bloque 406, la capa puente obtiene información de instrucción analizando las instrucciones de dibujo.
En el bloque 407, la capa puente usa la capacidad OpenGL para generar un comando de dibujo OpenGL correspondiente a las instrucciones de dibujo de acuerdo con la información de instrucción.
En el bloque 408, la capa puente forma un resultado de la renderización dibujando el comando de dibujo OpenGL en una ventana de renderización OpenGL.
En el bloque 409, la capa puente almacena en caché el resultado de la renderización en un búfer de píxeles.
En el bloque 410, la capa puente transmite el resultado de la renderización a la capa de estructura del sistema intercambiando datos con un búfer de pantalla a través del búfer de píxeles.
En el bloque 411, la capa de estructura del sistema transmite el resultado de la renderización a un deflector de superficie.
En el bloque 412, la capa de estructura del sistema sintetiza el contenido de la pantalla a través del deflector de superficie en base al resultado de la renderización, y visualiza el contenido de la pantalla sintetizada en una pantalla de visualización del dispositivo terminal.
En el bloque 413, la capa JS transmite la instrucción de operación a la capa puente.
En el bloque 414, la capa puente obtiene un resultado de consulta mediante el uso de la capacidad OpenGL para procesar la instrucción de operación.
En el bloque 415, la capa puente transmite el resultado de consulta a la capa JS.
En el bloque 416, la capa JS almacena en caché la instrucción de operación en el conjunto de instrucciones.
En el bloque 417, la capa de estructura del sistema realiza la actualización de la pantalla.
En el bloque 418, la capa de estructura del sistema muestra cada imagen de cuadro actualizada en la pantalla de visualización del dispositivo terminal a través de Ondrawframe.
En el bloque 419, la capa de estructura del sistema invoca un renderizado nativo.
En el bloque 420, la capa de estructura del sistema monitorea si existe un evento tic en la capa JS mediante el uso del renderizado nativo para invocar una función de evento tic de despacho de la capa puente.
Cuando existe un evento tic, se realiza la acción en el bloque 405.
Se debe señalar que el proceso de implementación específico de la presente implementación puede referirse al proceso de implementación específico descrito en la implementación del método que se mencionó anteriormente, y no se describe en la presente descripción.
De acuerdo con las implementaciones que se ilustran en las Figuras 2 y 4, la Figura 5 es un diagrama estructural esquemático de un dispositivo terminal 500 de acuerdo con una implementación de la presente descripción. El dispositivo terminal 500 incluye una capa JS, una capa puente y una capa de estructura del sistema. Como se ilustra, el dispositivo terminal 500 incluye además al menos un procesador 501, una memoria 502, una interfaz de comunicación 503 y uno o más programas informáticos 504. El uno o más programas informáticos 504 se almacenan en la memoria 502 y se configuran para ejecutarse por el procesador 501. El procesador 501 se configura para ejecutar los programas informáticos 504 para implementar el método de renderización de juegos descrito en las implementaciones anteriores de la presente descripción.
Específicamente, los programas informáticos incluyen instrucciones ejecutables por ordenador que, cuando se ejecutan por el procesador 501, hacen que el procesador 501 lleve a cabo las siguientes acciones.
Cuando un número de instrucciones de dibujo almacenadas en caché en un conjunto de instrucciones es mayor o igual que un primer umbral, la capa JS transmite a la capa puente las instrucciones de dibujo almacenadas en caché en el conjunto de instrucciones.
La capa puente obtiene un resultado de la renderización mediante el uso de una capacidad OpenGL para procesar las instrucciones de dibujo.
La capa puente transmite a la capa de estructura del sistema el resultado de la renderización.
La capa de estructura del sistema realiza la renderización en base al resultado de la renderización.
En una implementación de la presente descripción, las instrucciones ejecutables por ordenador hacen además que el procesador 501 lleve a cabo las siguientes acciones.
La capa JS recibe un código de servicio de juego.
La capa JS invoca una capacidad WebGL invocando una API WebGL.
La capa JS obtiene una instrucción de operación mediante el uso de la capacidad WebGL para analizar el código de servicio de juego.
Cuando la instrucción de operación no es una instrucción de consulta, la capa JS determina si el número de instrucciones de dibujo almacenadas en caché en el conjunto de instrucciones es mayor o igual que el primer umbral.
En una implementación de la presente descripción, las instrucciones ejecutables por ordenador hacen además que el procesador 501 lleve a cabo las siguientes acciones.
Cuando la instrucción de operación es una instrucción de consulta, la capa JS transmite la instrucción de operación a la capa puente.
La capa puente obtiene un resultado de consulta mediante el uso de la capacidad OpenGL para procesar la instrucción de operación.
La capa puente transmite el resultado de consulta a la capa JS.
En una implementación de la presente descripción, las instrucciones ejecutables por ordenador hacen además que el procesador 501 lleve a cabo las siguientes acciones.
Cuando la instrucción de operación no es una instrucción de consulta y el número de instrucciones de dibujo almacenadas en caché en el conjunto de instrucciones es menor que el primer umbral, la capa JS almacena la instrucción de operación en caché en el conjunto de instrucciones.
En una implementación de la presente descripción, las instrucciones ejecutables por ordenador que hacen que el procesador 501 lleve a cabo la acción donde la capa puente obtiene un resultado de la renderización mediante el uso de una capacidad OpenGL para procesar las instrucciones de dibujo, específicamente hacen que el procesador 501 lleve a cabo las siguientes acciones.
La capa puente obtiene información de instrucción analizando las instrucciones de dibujo.
La capa puente, de acuerdo con la información de instrucción, genera un comando de dibujo OpenGL correspondiente a las instrucciones de dibujo mediante el uso de la capacidad OpenGL.
La capa puente forma un resultado de la renderización dibujando el comando de dibujo OpenGL en una ventana de renderización OpenGL.
En una implementación de la presente descripción, las instrucciones ejecutables por ordenador que hacen que el procesador 501 lleve a cabo la acción donde la capa puente transmite el resultado de la renderización a la capa de estructura del sistema, específicamente hacen que el procesador 501 lleve a cabo las siguientes acciones.
La capa puente almacena el resultado de la renderización en caché en un búfer de píxeles.
La capa puente transmite el resultado de la renderización a la capa de estructura del sistema intercambiando datos con un búfer de pantalla a través del búfer de píxeles.
En una implementación de la presente descripción, las instrucciones ejecutables por ordenador que hacen que el procesador 501 lleve a cabo la acción donde la capa de estructura del sistema realiza la renderización en base al resultado de la renderización, específicamente hacen que el procesador 501 lleve a cabo las siguientes acciones. La capa de estructura del sistema transmite el resultado de la renderización a un deflector de superficie.
El deflector de superficie sintetiza el contenido de la pantalla en base al resultado de la renderización, y el contenido de la pantalla sintetizado se muestra en una pantalla de visualización del dispositivo terminal.
En una implementación de la presente descripción, las instrucciones ejecutables por ordenador hacen además que el procesador 501 lleve a cabo las siguientes acciones.
La capa de estructura del sistema realiza la actualización de la pantalla, y cada imagen de cuadro actualizada se muestra en la pantalla de visualización del dispositivo terminal a través de Ondrawframe.
La capa de estructura del sistema invoca un renderizado nativo y, si existe un evento tic en la capa JS, se monitorea mediante el uso del renderizado nativo para invocar una función de evento tic de despacho de la capa puente.
Cuando existe un evento tic, se realiza la acción donde la capa JS transmite a la capa puente las instrucciones de dibujo almacenadas en caché en el conjunto de instrucciones.
Se debe señalar que el proceso de implementación específico de la presente implementación puede referirse al proceso de implementación específico descrito en la implementación del método que se mencionó anteriormente, y no se describe en la presente descripción.
Las implementaciones anteriores introducen principalmente la solución de las implementaciones de la presente descripción desde la perspectiva de realizar el proceso en el lado del método. Debe entenderse que, para lograr las funciones anteriores, el dispositivo terminal incluye estructuras de hardware y/o módulos de software correspondientes que se usan para realizar cada función. Los expertos en la técnica apreciarán fácilmente que la presente descripción se puede implementar en forma de hardware o una combinación de hardware y software informático en combinación con los elementos y etapas de algoritmo de los diversos ejemplos descritos en las implementaciones descritas en la presente descripción. El hecho de que una función se implemente en hardware o en hardware controlado por software depende de la aplicación específica y las limitaciones de diseño de la solución técnica. Los expertos profesionales pueden usar diferentes métodos para implementar las funciones descritas para cada aplicación particular, pero dicha implementación no debe considerarse fuera del alcance de esta descripción. Las implementaciones de la presente descripción pueden realizar la división de unidades funcionales en el dispositivo terminal de acuerdo con las implementaciones del método. Por ejemplo, cada unidad funcional puede dividirse de acuerdo con cada función, o dos o más funciones pueden integrarse en una unidad de procesamiento. La unidad integrada puede implementarse en forma de hardware o en forma de unidades funcionales de software. Se debe señalar que la división de las unidades en las implementaciones de la presente descripción es esquemática y es solo una división funcional lógica. En la implementación real, puede haber otra forma de división.
La siguiente es una implementación de aparato de la presente descripción, que se usa para implementar el método implementado por la implementación del método de la presente descripción. La Figura 6 es un diagrama estructural esquemático de un aparato de renderización de juegos 600 de acuerdo con una implementación de la presente descripción, que se aplica a un dispositivo terminal. El dispositivo terminal incluye una capa JS, una capa puente y una capa de estructura del sistema. Como se ilustra en la Figura 6, el aparato de renderización de juegos 600 incluye una unidad de transmisión 601, una unidad de procesamiento 602 y una unidad de renderización 603.
La unidad de transmisión 601 se configura para transmitir instrucciones de dibujo almacenadas en caché en un conjunto de instrucciones, a la capa puente, cuando un número de instrucciones de dibujo almacenadas en caché en el conjunto de instrucciones es mayor o igual que un primer umbral.
La unidad de procesamiento 602 se configura para obtener un resultado de la renderización mediante el uso de una capacidad OpenGL para procesar las instrucciones de dibujo.
La unidad de transmisión 601 se configura además para transmitir el resultado de la renderización a la capa de estructura del sistema.
La unidad de renderización 603 se configura para realizar una renderización en base al resultado de la renderización.
En una implementación de la presente descripción, como se ilustra en la Figura 7, el aparato de renderización de juegos 600' incluye además lo siguiente.
Una unidad de recepción 604 se configura para recibir un código de servicio de juego.
Una unidad de invocación 605 se configura para invocar una capacidad WebGL invocando una API WebGL.
La unidad de procesamiento 602 se configura además para obtener una instrucción de operación mediante el uso de la capacidad WebGL para analizar el código de servicio de juego.
La unidad de procesamiento 602 se configura además para determinar si el número de instrucciones de dibujo almacenadas en caché en el conjunto de instrucciones es mayor o igual que el primer umbral, cuando la instrucción de operación no es una instrucción de consulta.
En una implementación de la presente descripción, la unidad de transmisión 601 se configura además para transmitir la instrucción de operación a la capa puente cuando la instrucción de operación es una instrucción de consulta.
La unidad de procesamiento 602 se configura además para obtener un resultado de consulta mediante el uso de la capacidad OpenGL para procesar la instrucción de operación.
La unidad de transmisión 601 se configura además para transmitir el resultado de consulta a la capa JS.
En una implementación de la presente descripción, el aparato de renderización de juegos 600' incluye además lo siguiente.
Una unidad de almacenamiento en caché 606 se configura para almacenar en caché la instrucción de operación en el conjunto de instrucciones, cuando la instrucción de operación no es una instrucción de consulta y el número de instrucciones de dibujo almacenadas en caché en el conjunto de instrucciones es menor que el primer umbral. En una implementación de la presente descripción, la unidad de procesamiento 602 se configura específicamente para obtener información de instrucción analizando las instrucciones de dibujo, usar la capacidad OpenGL para generar un comando de dibujo OpenGL correspondiente a las instrucciones de dibujo de acuerdo con la información de instrucción y formar un resultado de la renderización dibujando el comando de dibujo OpenGL en una ventana de renderización OpenGL.
En una implementación de la presente descripción, la unidad de transmisión 601 se configura específicamente para almacenar en caché el resultado de la renderización en un búfer de píxeles y transmitir el resultado de la renderización a la capa de estructura del sistema intercambiando datos con un búfer de pantalla a través del búfer de píxeles.
En una implementación de la presente descripción, la unidad de renderización 603 se configura específicamente para transmitir el resultado de la renderización a un deflector de superficie, sintetizar el contenido de la pantalla a través del deflector de superficie en base al resultado de la renderización y visualizar el contenido de la pantalla sintetizada en una pantalla de visualización del dispositivo terminal.
En una implementación de la presente descripción, el aparato de renderización de juegos 600' incluye además lo siguiente.
Una unidad de actualización 607 se configura para realizar la actualización de pantalla.
Una unidad de visualización 608 se configura para visualizar cada imagen de cuadro actualizada en la pantalla de visualización del dispositivo terminal a través de Ondrawframe.
La unidad de invocación 605 se configura además para invocar un renderizado nativo.
Una unidad de monitoreo 609 se configura para monitorear si existe un evento tic en la capa JS mediante el uso del renderizado nativo para invocar una función de evento tic de despacho de la capa puente.
Cuando existe un evento tic, la unidad de transmisión 601 transmite a la capa puente las instrucciones de dibujo almacenadas en caché en el conjunto de instrucciones.
Se debe señalar que, las funciones de la unidad de transmisión 601, la unidad de procesamiento 602, la unidad de renderización 603, la unidad de recepción 604, la unidad de invocación 605, la unidad de almacenamiento en caché 606, la unidad de actualización 607, la unidad de visualización 608, y la unidad de monitoreo 609 pueden implementarse mediante un procesador.
Las implementaciones de la presente descripción proporcionan además un medio de almacenamiento no transitorio legible por ordenador, en el que se almacenan programas informáticos para el intercambio electrónico de datos. Un procesador ejecuta los programas informáticos para implementar el método de renderización de juegos descrito en las implementaciones anteriores de la presente descripción.
Específicamente, el procesador ejecuta los programas informáticos para llevar a cabo las siguientes acciones. Una capa JS transmite a una capa puente instrucciones de dibujo almacenadas en caché en un conjunto de instrucciones, cuando un número de instrucciones de dibujo almacenadas en caché en el conjunto de instrucciones es mayor o igual que un primer umbral. La capa puente obtiene un resultado de la renderización mediante el uso de una capacidad OpenGL para procesar las instrucciones de dibujo y transmite el resultado de la renderización a una capa de estructura del sistema. La capa de estructura del sistema realiza la renderización en base al resultado de la renderización.
Las implementaciones de la presente descripción también proporcionan un producto de programa informático. El producto de programa informático incluye un medio de almacenamiento no transitorio legible por ordenador que almacena programas informáticos. Los programas informáticos se ejecutan por un procesador para implementar el método de renderización de juegos descrito en las implementaciones anteriores de la presente descripción. El producto de programa informático puede ser un paquete de instalación de software.
Se debe señalar que, en aras de la simplicidad, las implementaciones del método anteriores se describen como una serie de combinaciones de acción, sin embargo, los expertos en la técnica apreciarán que la presente descripción no se limita por la secuencia de acciones descrita. De acuerdo con la presente descripción, ciertas etapas pueden realizarse en otro orden o simultáneamente. Además, los expertos en la técnica apreciarán que las implementaciones descritas en la descripción son implementaciones ilustrativas y las acciones y módulos implicados no son necesariamente esenciales para la presente descripción.
En las implementaciones anteriores, la descripción de cada implementación tiene su propio énfasis. Para las partes que no se describen en detalle en una implementación, puede hacerse referencia a descripciones relacionadas de otras implementaciones.
En las implementaciones de la descripción, el aparato que se describe en las implementaciones que se proporcionan en la presente descripción puede implementarse de otras maneras. Por ejemplo, las implementaciones del dispositivo/aparato descritas anteriormente son meramente ilustrativas. Por ejemplo, la división de la unidad es solo una división de función lógica y puede haber otras maneras de división durante las implementaciones reales, por ejemplo, pueden combinarse múltiples unidades o componentes o pueden integrarse en otro sistema, o algunas características pueden ignorarse, omitirse o no realizarse. Además, la conexión de acoplamiento o comunicación entre cada componente ilustrado o descrito puede ser un acoplamiento directo o una conexión de comunicación, o puede ser un acoplamiento o comunicación indirecta entre dispositivos o unidades a través de algunas interfaces, y puede ser una conexión eléctrica, una conexión mecánica u otras formas de conexión.
Las unidades descritas como componentes separados pueden o no estar físicamente separadas, los componentes ilustrados como unidades pueden o no ser unidades físicas, es decir, pueden estar en el mismo lugar o pueden distribuirse a múltiples elementos de red. Todas o parte de las unidades pueden seleccionarse de acuerdo con las necesidades reales para lograr el propósito de las soluciones técnicas de las implementaciones.
Además, las unidades funcionales en varias implementaciones de la presente descripción pueden integrarse en una unidad de procesamiento, o cada unidad puede estar físicamente presente, o dos o más unidades pueden integrarse en una unidad. La unidad integrada que se mencionó anteriormente puede implementarse en forma de hardware o una unidad funcional de software.
La unidad integrada puede almacenarse en una memoria legible por ordenador cuando se implementa en forma de una unidad funcional de software y se vende o usa como un producto separado. En base a tal entendimiento, las soluciones técnicas de la presente descripción esencialmente, o la parte de las soluciones técnicas que contribuyen a la técnica relacionada, o la totalidad o parte de las soluciones técnicas, pueden llevarse a la práctica en forma de un producto de software que se almacena en una memoria e incluye instrucciones para hacer que un dispositivo informático (que puede ser un ordenador personal, un servidor o un dispositivo de red y demás) realice todas o parte de las etapas descritas en las diversas implementaciones de la presente descripción. La memoria incluye varios medios capaces de almacenar códigos de programa, tales como un disco flash USB (bus serie universal), una memoria de solo lectura (ROM), una memoria de acceso aleatorio (RAM), un disco duro extraíble, disco compacto (CD), o similares.
Los expertos en la técnica entenderán que todas o parte de las operaciones de los diversos métodos de las implementaciones descritas anteriormente pueden realizarse mediante un programa para instruir al hardware asociado, el programa puede almacenarse en una memoria legible por ordenador, que puede incluir una memoria flash, una memoria de solo lectura (ROM), una memoria de acceso aleatorio (RAM), disco o disco compacto (CD), y demás.
Las implementaciones de la presente descripción se describieron en detalle anteriormente, en la presente descripción se usan ejemplos específicos para describir el principio y las maneras de implementación de la presente descripción. La descripción de las implementaciones anteriores se usa simplemente para ayudar a comprender el método y la idea central de la presente descripción. Mientras tanto, los expertos en la técnica pueden realizar modificaciones a las maneras de implementación específicas y al alcance de la aplicación de acuerdo con la idea de la presente descripción. En resumen, el contenido de la descripción no debe interpretarse como limitante de la presente descripción.

Claims (15)

REIVINDICACIONES
1. Un método de renderización de juegos que se ejecuta por un dispositivo terminal (100, 500), el dispositivo terminal que comprende una capa JavaScript (JS) (21), una capa puente (22) y una capa de estructura del sistema (23), el método que comprende:
la capa JS que transmite a la capa puente instrucciones de dibujo almacenadas en caché comprendidas en un conjunto de instrucciones, cuando el número de instrucciones de dibujo almacenadas en caché comprendidas en el conjunto de instrucciones es mayor o igual a un primer umbral (201);
la capa puente que obtiene un resultado de la renderización mediante el uso de una capacidad OpenGL para procesar las instrucciones de dibujo (202);
la capa puente que transmite el resultado de la renderización a la capa de estructura del sistema (203); y la capa de estructura del sistema que realiza la renderización en base al resultado de la renderización (204).
2. El método de la reivindicación 1, que comprende, además:
la capa JS que recibe un código de servicio de juego (401), en donde se almacenan en caché una pluralidad de códigos de servicio de juego, y corresponden a una pluralidad de instrucciones de operación relacionadas con el juego, en donde las instrucciones de operación relacionadas con el juego comprenden instrucciones de dibujo e instrucciones de consulta;
la capa JS que invoca una capacidad WebGL (402);
la capa JS que obtiene una instrucción de operación mediante el uso de la capacidad WebGL para analizar el código de servicio de juego (402); y
la capa JS que determina si el número de instrucciones de dibujo almacenadas en caché comprendidas en el conjunto de instrucciones es mayor o igual que el primer umbral (404), cuando la instrucción de operación obtenida no es una instrucción de consulta.
3. El método de la reivindicación 2, que comprende además:
la capa JS que transmite la instrucción de operación obtenida a la capa puente, cuando la instrucción de operación obtenida es una instrucción de consulta (413);
la capa puente que obtiene un resultado de consulta mediante el uso de la capacidad OpenGL para procesar la instrucción de operación obtenida (414); y
la capa puente que transmite el resultado de consulta a la capa JS (415).
4. El método de la reivindicación 2 o 3, que comprende además:
la capa JS que almacena en caché, en el conjunto de instrucciones, la instrucción de operación obtenida, cuando la instrucción de operación obtenida no es una instrucción de consulta y el número de instrucciones de dibujo almacenadas en caché comprendidas en el conjunto de instrucciones es menor que el primer umbral (416).
5. El método de cualquiera de las reivindicaciones 1 a 4, en donde la capa puente que obtiene el resultado de la renderización mediante el uso la capacidad OpenGL para procesar las instrucciones de dibujo almacenadas en caché (202) comprende:
la capa puente que obtiene información de instrucción analizando las instrucciones de dibujo almacenadas en caché (406);
la capa puente que usa la capacidad OpenGL para generar un comando de dibujo OpenGL correspondiente a las instrucciones de dibujo de acuerdo con la información de instrucción (407); y
la capa puente que forma un resultado de la renderización dibujando el comando de dibujo OpenGL en una ventana de renderización OpenGL (408).
6. El método de cualquiera de las reivindicaciones 1a 5, en donde la capa puente que transmite el resultado de la renderización a la capa de estructura del sistema (203) comprende:
la capa puente que almacena en caché el resultado de la renderización en un búfer de píxeles (409); y
la capa puente que transmite el resultado de la renderización a la capa de estructura del sistema intercambiando datos con un búfer de pantalla a través del búfer de píxeles (410).
7. El método de cualquiera de las reivindicaciones 1 a 6, en donde la capa de estructura del sistema que realiza la renderización en base al resultado de la renderización (204) comprende:
la capa de estructura del sistema que transmite el resultado de la renderización a un deflector de superficie (411); y
la capa de estructura del sistema que sintetiza el contenido de la pantalla a través del deflector de superficie en base al resultado de la renderización, y que visualiza el contenido de la pantalla sintetizada en una pantalla de visualización del dispositivo terminal (412).
8. Un dispositivo terminal (100, 500) que comprende un aparato de renderización de juegos (600, 600'), el dispositivo terminal que comprende además una capa JavaScript (JS) (21), una capa puente (22) y una capa de estructura del sistema (23), el aparato (600) que comprende:
una unidad de transmisión (601), que se configura para transmitir instrucciones de dibujo almacenadas en caché comprendidas en un conjunto de instrucciones a la capa puente mediante la capa JS, cuando el número de instrucciones de dibujo almacenadas en caché comprendidas en el conjunto de instrucciones es mayor o igual a un primer umbral;
una unidad de procesamiento (602), que se configura para obtener un resultado de la renderización mediante la capa puente que usa una capacidad OpenGL para procesar las instrucciones de dibujo; la unidad de transmisión (601) que se configura además para transmitir el resultado de la renderización a una capa de estructura del sistema mediante la capa puente; y
una unidad de renderización (603), que se configura para realizar la renderización en base al resultado de la renderización mediante la capa de estructura del sistema.
9. El aparato de renderización de juegos (600') de la reivindicación 8, que comprende además:
una unidad de recepción (604), que se configura para recibir un código de servicio de juego mediante la capa JS, en donde una pluralidad de códigos de servicio de juego se almacenan en caché y corresponden a una pluralidad de instrucciones de operación relacionadas con el juego, en donde las instrucciones de operación relacionadas con el juego comprenden instrucciones de dibujo e instrucciones de consulta; una unidad de invocación (605), que se configura para invocar una capacidad WebGL mediante la capa JS;
la unidad de procesamiento (602) que se configura además para obtener una instrucción de operación mediante la capa JS que usa la capacidad WebGL para analizar el código de servicio de juego, y determinar, mediante la capa JS, si el número de instrucciones de dibujo almacenadas en caché comprendidas en el conjunto de instrucciones es mayor o igual que el primer umbral, cuando la instrucción de operación obtenida no es una instrucción de consulta.
10. El aparato de renderización de juegos (600') de la reivindicación 9, en donde,
la unidad de transmisión (601) se configura además para transmitir la instrucción de operación obtenida a la capa puente mediante la capa JS, cuando la instrucción de operación obtenida es una instrucción de consulta;
la unidad de procesamiento (602) se configura además para obtener un resultado de consulta mediante la capa puente que usa la capacidad OpenGL para procesar la instrucción de operación obtenida; y la unidad de transmisión (601) se configura además para transmitir el resultado de consulta a la capa JS mediante la capa puente.
11. El aparato (600') de la reivindicación 9, que comprende además:
una unidad de almacenamiento en caché (606), que se configura para almacenar en caché, mediante la capa JS, la instrucción de operación obtenida en el conjunto de instrucciones, cuando la instrucción de operación obtenida no es una instrucción de consulta y el número de instrucciones de dibujo almacenadas en caché comprendidas en el conjunto de instrucciones es menor que el primer umbral.
12. El aparato (600, 600') de cualquiera de las reivindicaciones 8 a 11, en donde la unidad de procesamiento (602) se configura para:
obtener información de instrucción mediante la capa puente que analiza las instrucciones de dibujo; usar la capacidad OpenGL para generar un comando de dibujo OpenGL correspondiente a las instrucciones de dibujo de acuerdo con la información de instrucción; y
formar un resultado de la renderización mediante la capa puente que dibuja el comando de dibujo OpenGL en una ventana de renderización OpenGL.
13. El aparato (600, 600') de cualquiera de las reivindicaciones 8 a 12, en donde la unidad de transmisión (601) se configura para:
almacenar en caché el resultado de la renderización en un búfer de píxeles mediante la capa puente; y transmitir el resultado de la renderización a la capa de estructura del sistema mediante el intercambio de datos de la capa puente con un búfer de pantalla a través del búfer de píxeles.
14. El aparato (600, 600') de acuerdo con cualquiera de las reivindicaciones 8 a 13, en donde la unidad de renderización (603) se configura para:
transmitir el resultado de la renderización a un deflector de superficie mediante la capa de estructura del sistema; y
sintetizar el contenido de la pantalla en base al resultado de la renderización mediante el deflector de superficie; y
visualizar el contenido de la pantalla sintetizada en una pantalla de visualización del dispositivo terminal.
15. Un medio de almacenamiento no transitorio legible por ordenador que almacena programas informáticos que, cuando se ejecutan por un procesador (101, 501), hacen que el procesador realice el método de cualquiera de las reivindicaciones 1 a 7.
ES19189588T 2018-09-12 2019-08-01 Método y aparato de renderización de juegos, y medio de almacenamiento no transitorio legible por ordenador Active ES2882642T3 (es)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811061909.2A CN109343837A (zh) 2018-09-12 2018-09-12 游戏渲染方法及相关设备

Publications (1)

Publication Number Publication Date
ES2882642T3 true ES2882642T3 (es) 2021-12-02

Family

ID=65304768

Family Applications (1)

Application Number Title Priority Date Filing Date
ES19189588T Active ES2882642T3 (es) 2018-09-12 2019-08-01 Método y aparato de renderización de juegos, y medio de almacenamiento no transitorio legible por ordenador

Country Status (5)

Country Link
US (1) US10866818B2 (es)
EP (1) EP3623938B1 (es)
CN (1) CN109343837A (es)
ES (1) ES2882642T3 (es)
WO (1) WO2020052376A2 (es)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109343837A (zh) * 2018-09-12 2019-02-15 Oppo广东移动通信有限公司 游戏渲染方法及相关设备
CN110297623B (zh) * 2019-07-03 2023-07-14 广州虎牙科技有限公司 日志展示方法及装置
CN111522520B (zh) * 2020-04-03 2024-04-19 广东小天才科技有限公司 软件仿类纸的处理方法、装置、设备和存储介质
CN111562962B (zh) * 2020-04-29 2023-07-04 百度在线网络技术(北京)有限公司 画面渲染方法、装置、电子设备和存储介质
CN113262466A (zh) * 2021-05-11 2021-08-17 Oppo广东移动通信有限公司 震动控制方法、装置、移动终端及存储介质

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070192818A1 (en) 2004-10-12 2007-08-16 Mikael Bourges-Sevenier System and method for creating, distributing, and executing rich multimedia applications
CN103399729B (zh) 2013-06-28 2016-04-27 广州市动景计算机科技有限公司 一种HTML5 Canvas应用处理方法、装置及处理器
US9507649B2 (en) 2014-05-29 2016-11-29 Apple Inc. Web browser for spoofing supported features
CN104778082B (zh) 2015-03-25 2018-04-24 小米科技有限责任公司 开放式图形库操作的处理方法和装置
CN107832108B (zh) * 2016-09-14 2021-05-07 阿里巴巴集团控股有限公司 3D canvas网页元素的渲染方法、装置及电子设备
CN106453852A (zh) 2016-09-20 2017-02-22 深圳鼎智通讯股份有限公司 安卓终端的屏幕颜色调节系统及其方法
CN106504185B (zh) 2016-10-26 2020-04-07 腾讯科技(深圳)有限公司 一种渲染优化方法和装置
CN107436797A (zh) * 2017-08-14 2017-12-05 深信服科技股份有限公司 一种基于虚拟化环境的指令数据处理方法及装置
CN107913519B (zh) 2017-08-29 2022-11-04 深圳壹账通智能科技有限公司 2d游戏的渲染方法及移动终端
CN107911708B (zh) 2017-11-09 2022-04-05 腾讯数码(天津)有限公司 弹幕显示方法、直播方法、及相关装置
CN109343837A (zh) * 2018-09-12 2019-02-15 Oppo广东移动通信有限公司 游戏渲染方法及相关设备

Also Published As

Publication number Publication date
US20200081722A1 (en) 2020-03-12
US10866818B2 (en) 2020-12-15
WO2020052376A3 (en) 2020-05-14
EP3623938A1 (en) 2020-03-18
WO2020052376A2 (en) 2020-03-19
EP3623938B1 (en) 2021-06-16
CN109343837A (zh) 2019-02-15

Similar Documents

Publication Publication Date Title
ES2882642T3 (es) Método y aparato de renderización de juegos, y medio de almacenamiento no transitorio legible por ordenador
ES2922476T3 (es) Editor de aplicaciones web interactivo
WO2018050003A1 (zh) 3D canvas网页元素的渲染方法、装置及电子设备
CN111026396A (zh) 页面渲染方法、装置、电子设备及存储介质
CN111433743A (zh) 一种app远程控制方法及相关设备
US20220241689A1 (en) Game Character Rendering Method And Apparatus, Electronic Device, And Computer-Readable Medium
CN111581555B (zh) 一种文档加载方法、装置、设备及存储介质
CN110874217A (zh) 快应用的界面显示方法、装置及存储介质
CN110990105A (zh) 界面显示方法、装置、电子设备及存储介质
CN111026490A (zh) 页面渲染方法、装置、电子设备及存储介质
CN111078325B (zh) 应用程序运行方法、装置、电子设备及存储介质
CN111857658A (zh) 一种渲染动态组件的方法、装置、介质和电子设备
US20130290674A1 (en) Modeling Structured SIMD Control FLow Constructs in an Explicit SIMD Language
CN113225616A (zh) 视频播放方法、装置、计算机设备及可读存储介质
CN113613064A (zh) 视频处理方法、装置、存储介质及终端
CN112506878A (zh) 文件处理方法、装置、存储介质及电子设备
CN114302176B (zh) 视频播放方法及装置
WO2022057889A1 (zh) 一种对应用程序的界面进行翻译的方法及相关设备
WO2021057390A1 (zh) 一种启动快应用的方法及相关装置
CN110865863A (zh) 快应用的界面显示方法、装置及存储介质
CN111008050B (zh) 页面任务执行方法、装置、终端及存储介质
CN111104183B (zh) 应用程序运行方法、装置、电子设备及存储介质
CN115480762A (zh) 显示视图控件的方法及装置
Mikkonen et al. Lively for Qt: A platform for mobile web applications
CN110865760A (zh) 电子设备操作方法、装置、电子设备及存储介质