stringtranslate.com

Modo retenido

El modo retenido en gráficos por computadora es un patrón importante de diseño de API en bibliotecas de gráficos, [1] en el que

El modo inmediato es un enfoque alternativo. Históricamente, el modo retenido ha sido el estilo dominante en las bibliotecas GUI ; [4] sin embargo, ambos pueden coexistir en la misma biblioteca y no son necesariamente excluyentes en la práctica. [5]

Descripción general

Explicación esquemática de una API de gráficos en modo retenido

En el modo retenido, las llamadas del cliente no provocan directamente la representación real, sino que actualizan un modelo interno abstracto (normalmente una lista de objetos) que se mantiene dentro del espacio de datos de la biblioteca. Esto permite que la biblioteca optimice cuándo se realiza la representación real junto con el procesamiento de objetos relacionados. [2]

Algunas técnicas para optimizar el renderizado incluyen:

Ejemplo de convivencia con el modo inmediato en una misma biblioteca es OpenGL . [ dudosodiscutir ] [ verificación fallida ] [10] OpenGL tiene funciones de modo inmediato que pueden usar objetos del lado del servidor previamente definidos ( texturas , buffers de vértices y buffers de índice , sombreadores , etc.) sin reenviar datos sin cambios. [11] [12]

Ejemplos de sistemas de renderizado en modo retenido incluyen Windows Presentation Foundation , [2] SceneKit en macOS, [13] y PHIGS .

Explicación esquemática de una API de gráficos en modo inmediato en contraste

Ver también

Referencias

  1. ^ Jin, Zhefan (mayo de 2006). "Renderizado de gráficos paralelos en modo retenido para entornos de diseño cooperativo". 2006 Décimo Congreso Internacional sobre Trabajo Cooperativo Asistido por Computadora en Diseño . págs. 1–6. doi :10.1109/CSCWD.2006.253142. ISBN 1-4244-0164-X. S2CID  5825966.
  2. ^ abc Quinn Radich (30 de mayo de 2018). "Modo retenido versus modo inmediato". Aplicaciones Win32 . Microsoft . Consultado el 21 de diciembre de 2019 .
  3. ^ stevewhims. "Consultas de predicción: aplicaciones Win32". aprender.microsoft.com . Consultado el 9 de diciembre de 2022 .
  4. ^ Feldmeier, Alex (12 de octubre de 2013). "Programación GUI". Informe técnico de ingeniería de software y ciencias de la computación de UWP . Consultado el 22 de diciembre de 2019 . El modo retenido ha sido el estándar durante años. Casi todas las GUI están en modo retenido.
  5. ^ QuinnRadich. "Modo retenido versus modo inmediato: aplicaciones Win32". docs.microsoft.com . Consultado el 21 de agosto de 2020 .
  6. ^ "Doble almacenamiento en búfer OpenGL" . Consultado el 7 de mayo de 2020 .
  7. ^ "Doble búfer de DirectX" . Consultado el 7 de mayo de 2020 .
  8. ^ "Selección de rostros OpenGL" . Consultado el 7 de mayo de 2020 .
  9. ^ "Selección de oclusiones de DirectX" . Consultado el 7 de mayo de 2020 .
  10. ^ "OpenGL" . Consultado el 4 de mayo de 2020 .
  11. ^ "Soporte del controlador OpenGL". Desarrollador NVIDIA . 2013-08-19 . Consultado el 21 de agosto de 2020 .
  12. ^ "OpenGL: la base de la industria para gráficos de alto rendimiento". El grupo Khronos . 2011-07-19 . Consultado el 21 de agosto de 2020 .
  13. ^ Weiher, Marcel (24 de febrero de 2017). Ajuste del rendimiento de iOS y macOS: Cocoa, Cocoa Touch, Objective-C y Swift. Profesional de Addison-Wesley. ISBN 9780133085532. Consultado el 22 de diciembre de 2019 . SceneKit y SpriteKit, por otro lado, son API en modo retenido.