Hallo an alle
Ich nutze in einer App die Apple-Eigene "NSOpenGLView". Darin kann ich ja OpenGL-Sachen machen und auch noch eigene SubViews hinzufügen, die dann auch vor dem OpenGL-Context gezeichnet werden.
Nun habe ich noch eine eigene NSTableView erstellt. Die Zellengröße dieser beläuft sich auf ca.200x250 Pixel. In diesem Bereich zeichne ich dann immer ein NSImage und einige AttributedStrings. Das Scrollen der Tabelle läuft sehr flüssig und ist schön anzusehen.
Nun habe ich die gleiche Tabelle einfach als SubView in das ContentView meines Fensters hinzugefügt und merke, dass nun das Scrollen ziemlich "stotternd" vorangeht. Nach ein paar Logausgaben habe ich festgestellt, dass hier die sichtbaren Zellen jedes mal neu gezeichnet werden, wenn nur um ein Pixel gescrollt wurde. Wird die Tabelle als SubView in die NSOpenGLView gepackt, so wird der sichtbare Bereich immer nur einmal gezeichnet und im Prinzip wieder verwendet.
Habe ich hier was falsch gemacht, oder verhält sich das Zeichnen der SubViews in der NSOpenGLView anders als in der normalen NSView?
Kann ich hier was optimieren, damit der Scrollvorgang auch in der normalen NSView flüssig abläuft?
Vielen Dank schon mal für die Vorschläge
Gruß
Ich nutze in einer App die Apple-Eigene "NSOpenGLView". Darin kann ich ja OpenGL-Sachen machen und auch noch eigene SubViews hinzufügen, die dann auch vor dem OpenGL-Context gezeichnet werden.
Nun habe ich noch eine eigene NSTableView erstellt. Die Zellengröße dieser beläuft sich auf ca.200x250 Pixel. In diesem Bereich zeichne ich dann immer ein NSImage und einige AttributedStrings. Das Scrollen der Tabelle läuft sehr flüssig und ist schön anzusehen.
Nun habe ich die gleiche Tabelle einfach als SubView in das ContentView meines Fensters hinzugefügt und merke, dass nun das Scrollen ziemlich "stotternd" vorangeht. Nach ein paar Logausgaben habe ich festgestellt, dass hier die sichtbaren Zellen jedes mal neu gezeichnet werden, wenn nur um ein Pixel gescrollt wurde. Wird die Tabelle als SubView in die NSOpenGLView gepackt, so wird der sichtbare Bereich immer nur einmal gezeichnet und im Prinzip wieder verwendet.
Habe ich hier was falsch gemacht, oder verhält sich das Zeichnen der SubViews in der NSOpenGLView anders als in der normalen NSView?
Kann ich hier was optimieren, damit der Scrollvorgang auch in der normalen NSView flüssig abläuft?
Vielen Dank schon mal für die Vorschläge
Gruß