Il gigante del web, Google, ha rilasciato uno strumento di debug 3D chiamato GAPID, abbreviazione di Graphics API Debugger. Lo strumento è esattamente quello che dice di essere. Infatti, esso consente agli sviluppatori di applicazioni 3D e VR in grado di eseguire un Debugger su esse mentre si guarda al prodotto finito.
In questo modo, non si dovrà eseguire il debug in un IDE o un’altra interfaccia, per poi passare a guardare il prodotto, quindi tornare al Debugger, e così via in una continua rotazione tra le due. Questo strumento, dunque, accorcerà i cicli permettendo al processo di debug di avvenire in tempo reale e rapidamente. Gli sviluppatori potranno quindi testare tutte le funzioni rilevanti di un’app mentre analizzano il codice in contemporanea.
GAPID è principalmente progettato per captare i bug della GPU nelle applicazioni 3D e, in quanto tale, l’interfaccia e le sue funzionalità si basano sulla cattura di dati grafici e di risorse a riguardo.
Nell’interfaccia, gli sviluppatori possono esaminare le risorse caricate e il codice in esecuzione e possono intervenire in qualsiasi momento a loro piacimento. Quando ciò accade, l’applicazione si aggiorna in tempo reale per riflettere le modifiche e lo sviluppatore può saltare il passaggio dal debug all’iterazione. Questo processo di debug in tempo reale non solo consente a uno sviluppatore di saltare la finalizzazione e l’iterazione durante il debug, ma può essere utilizzato durante la creazione per vedere come le modifiche apportate alla codebase influenzano i processi correnti dell’applicazione. L’interfaccia funziona frame per frame in entrambe le modalità replay e trace. Questo consente agli sviluppatori di abbattere un bug nella loro applicazione a tutti i livelli in un dato momento. In tal modo è più facile che mai la riproduzione e l’isolamento dei glitch.
MacOS ha le maggiori limitazioni per GAPID.
GAPID è in grado di tracciare e riprodurre le funzioni in Vulkan e OpenGL su varie piattaforme, ma ci sono alcune limitazioni per ciascuna. Gli utenti Mac possono eseguire il debug delle applicazioni OpenGL e possono solo riprodurre il codice OpenGL ES. Le app Android possono avere traccia di OpenGL ES, mentre le basi di codici Vulkan possono essere tracciate e riprodotte. Windows e Linux, nel frattempo, hanno pieno supporto per Vulkan. Esse però sono in grado di riprodurre solo basi di codice OpenGL ES, senza alcuna funzione di tracciamento disponibile per loro.