Modo retenido

Patrón de diseño de API de bibliotecas de gráficos

El modo retenido en gráficos de 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 de 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 el momento en que se lleva a cabo la representación real junto con el procesamiento de los objetos relacionados. [2]

Algunas técnicas para optimizar la representación incluyen:

Un ejemplo de coexistencia con el modo inmediato en la 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 ]

Algunos 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 de modo inmediato en contraste

Véase también

Referencias

  1. ^ Jin, Zhefan (mayo de 2006). "Representación de gráficos paralelos en modo retenido para entornos de diseño cooperativo". 2006, 10.ª Conferencia internacional sobre trabajo cooperativo con soporte informático 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 frente a modo inmediato». Aplicaciones Win32 . Microsoft . Consultado el 21 de diciembre de 2019 .
  3. ^ stevewhims. "Consultas de predicción: aplicaciones Win32". learn.microsoft.com . Consultado el 9 de diciembre de 2022 .
  4. ^ Feldmeier, Alex (12 de octubre de 2013). "Programación de 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. ^ "Almacenamiento en doble búfer en OpenGL" . Consultado el 7 de mayo de 2020 .
  7. ^ "Almacenamiento en búfer doble de DirectX" . Consultado el 7 de mayo de 2020 .
  8. ^ "Eliminación de rostros en OpenGL" . Consultado el 7 de mayo de 2020 .
  9. ^ "Eliminación de oclusión de DirectX" . Consultado el 7 de mayo de 2020 .
  10. ^ "OpenGL" . Consultado el 4 de mayo de 2020 .
  11. ^ "Compatibilidad con controladores OpenGL". NVIDIA Developer . 2013-08-19 . Consultado el 2020-08-21 .
  12. ^ "OpenGL: la base de la industria para gráficos de alto rendimiento". The Khronos Group . 19 de julio de 2011 . 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. Addison-Wesley Professional. ISBN 9780133085532. Recuperado el 22 de diciembre de 2019. SceneKit y SpriteKit, por otro lado, son API de modo retenido.
Retrieved from "https://en.wikipedia.org/w/index.php?title=Retained_mode&oldid=1167035054"