Canvas news: Difference between revisions

Jump to navigation Jump to search
m
No edit summary
Line 6: Line 6:


== 2016 ==
== 2016 ==
=== SIMD ===
Erik is experimenting with streamlined Canvas rendering using Single Instruction Multiple Data (SIMD) instructions which is able to calculate on 4 floating poit variables simultaneously (e.g 3 or 4 value vectors). For the F-16 map this gives a speedup from 12+ seconds delay rendering at the first select down to 1.5 seconds delay.<ref>{{cite web
Erik is experimenting with streamlined Canvas rendering using Single Instruction Multiple Data (SIMD) instructions which is able to calculate on 4 floating poit variables simultaneously (e.g 3 or 4 value vectors). For the F-16 map this gives a speedup from 12+ seconds delay rendering at the first select down to 1.5 seconds delay.<ref>{{cite web
   |url    =  https://sourceforge.net/p/flightgear/mailman/message/35555294/  
   |url    =  https://sourceforge.net/p/flightgear/mailman/message/35555294/  
Line 15: Line 17:
   }}</ref>
   }}</ref>


 
=== Porting the HUD ===
James is planning to port the C++ HUD to use Canvas for its rendering soon (next few months), but he plans to keep XML compatibility (so aircraft don't see any change) and will keep the placement logic relative to the view, for the same reason. <ref>{{cite web
James is planning to port the C++ HUD to use Canvas for its rendering soon (next few months), but he plans to keep XML compatibility (so aircraft don't see any change) and will keep the placement logic relative to the view, for the same reason. <ref>{{cite web
   |url    =  https://forum.flightgear.org/viewtopic.php?p=301277#p301277  
   |url    =  https://forum.flightgear.org/viewtopic.php?p=301277#p301277  
Line 25: Line 27:
   }}</ref>
   }}</ref>


=== Skia backend ===
James is also currently looking at making a Skia backend for the Canvas (to replace Shiva, making a solution using Skia ([https://skia.org https://skia.org]) as the backend, because this would give good performance via its OpenGL backend, make people who don’t want to use Qt happier, and could also replace the OSG rendering of the Canvas within FlightGear itself, allowing us to ditch ShivaVG (which is unmaintained) and probably improve performance substantially. (Skia can do SSE3/NEON optimised software rendering in a background thread, so Canvas wouldn’t eat into our OSG / triangle budget)<ref>{{cite web
James is also currently looking at making a Skia backend for the Canvas (to replace Shiva, making a solution using Skia ([https://skia.org https://skia.org]) as the backend, because this would give good performance via its OpenGL backend, make people who don’t want to use Qt happier, and could also replace the OSG rendering of the Canvas within FlightGear itself, allowing us to ditch ShivaVG (which is unmaintained) and probably improve performance substantially. (Skia can do SSE3/NEON optimised software rendering in a background thread, so Canvas wouldn’t eat into our OSG / triangle budget)<ref>{{cite web
   |url    =  https://forum.flightgear.org/viewtopic.php?p=300990#p300990  
   |url    =  https://forum.flightgear.org/viewtopic.php?p=300990#p300990  

Navigation menu