我已經在C#/ Winforms中實現了一個自定義控件,它可以執行語法高亮顯示&自動完成功能。我使用AutoScroll來管理滾動,它很好地工作。Graphics.Draw *,AutoScroll&Culling
目前我還沒有進行優化(確定優化是重要的,但我最後一次;功能是我第一次後),我正在渲染巨大的文件,並且每個按鍵將重新解析受影響的確保語法突出顯示一致。
現在在我的大肉漆方法中,即使它位於剪輯區域之外,我也正在繪製每個字符串,關鍵字等等。但不管文件有多大&有多少個關鍵字組合/高亮位&件我都有,它仍然運行速度快,CPU沒有太多的內存開銷&。
所以我的問題 - 做Graphics.Draw *方法做任何類型的剔除?例如:如果AutoScrollPosition沿着文檔&下移GraphicsDrawString(插入繪製區域之外的一些座標),是否正在進行任何實際工作?另外請注意,我在虛擬機內部的Win 7上運行VS,並且它仍然運行得很快。這並不是說現在這個問題,但是稍後談到優化階段時記住它是很好的。 :d
乾杯, 亞倫
圖例,謝謝! – nevelis 2011-12-15 00:10:51