diff options
Diffstat (limited to 'src/EditView.cxx')
| -rw-r--r-- | src/EditView.cxx | 49 | 
1 files changed, 30 insertions, 19 deletions
| diff --git a/src/EditView.cxx b/src/EditView.cxx index 8522ba419..5c9bb7ff4 100644 --- a/src/EditView.cxx +++ b/src/EditView.cxx @@ -21,6 +21,7 @@  #include <algorithm>  #include <iterator>  #include <memory> +#include <chrono>  #include "Platform.h" @@ -53,6 +54,7 @@  #include "EditModel.h"  #include "MarginView.h"  #include "EditView.h" +#include "ElapsedPeriod.h"  using namespace Scintilla; @@ -2010,11 +2012,12 @@ void EditView::PaintText(Surface *surfaceWindow, const EditModel &model, PRectan  		}  		// Loop on visible lines -		//double durLayout = 0.0; -		//double durPaint = 0.0; -		//double durCopy = 0.0; -		//ElapsedTime etWhole; - +#if defined(TIME_PAINTING) +		double durLayout = 0.0; +		double durPaint = 0.0; +		double durCopy = 0.0; +		ElapsedPeriod epWhole; +#endif  		const bool bracesIgnoreStyle = ((vsDraw.braceHighlightIndicatorSet && (model.bracesMatchStyle == STYLE_BRACELIGHT)) ||  			(vsDraw.braceBadLightIndicatorSet && (model.bracesMatchStyle == STYLE_BRACEBAD))); @@ -2044,15 +2047,18 @@ void EditView::PaintText(Surface *surfaceWindow, const EditModel &model, PRectan  				// Copy this line and its styles from the document into local arrays  				// and determine the x position at which each character starts. -				//ElapsedTime et; +#if defined(TIME_PAINTING) +				ElapsedPeriod ep; +#endif  				if (lineDoc != lineDocPrevious) {  					ll.Set(0);  					ll.Set(RetrieveLineLayout(lineDoc, model));  					LayoutLine(model, lineDoc, surface, vsDraw, ll, model.wrapWidth);  					lineDocPrevious = lineDoc;  				} -				//durLayout += et.Duration(true); - +#if defined(TIME_PAINTING) +				durLayout += ep.Duration(true); +#endif  				if (ll) {  					ll->containsCaret = !hideSelection && (lineDoc == lineCaret);  					ll->hotspot = model.GetHotSpotRange(); @@ -2077,8 +2083,9 @@ void EditView::PaintText(Surface *surfaceWindow, const EditModel &model, PRectan  					}  					DrawLine(surface, model, vsDraw, ll, lineDoc, visibleLine, xStart, rcLine, subLine, phase); -					//durPaint += et.Duration(true); - +#if defined(TIME_PAINTING) +					durPaint += ep.Duration(true); +#endif  					// Restore the previous styles for the brace highlights in case layout is in cache.  					ll->RestoreBracesHighlight(rangeLine, model.braces, bracesIgnoreStyle); @@ -2100,7 +2107,9 @@ void EditView::PaintText(Surface *surfaceWindow, const EditModel &model, PRectan  					lineWidthMaxSeen = std::max(  						lineWidthMaxSeen, static_cast<int>(ll->positions[ll->numCharsInLine])); -					//durCopy += et.Duration(true); +#if defined(TIME_PAINTING) +					durCopy += ep.Duration(true); +#endif  				}  				if (!bufferedDraw) { @@ -2112,9 +2121,10 @@ void EditView::PaintText(Surface *surfaceWindow, const EditModel &model, PRectan  			}  		}  		ll.Set(0); -		//if (durPaint < 0.00000001) -		//	durPaint = 0.00000001; - +#if defined(TIME_PAINTING) +		if (durPaint < 0.00000001) +			durPaint = 0.00000001; +#endif  		// Right column limit indicator  		PRectangle rcBeyondEOF = (vsDraw.marginInside) ? rcClient : rcArea;  		rcBeyondEOF.left = static_cast<XYPOSITION>(vsDraw.textStart); @@ -2138,11 +2148,12 @@ void EditView::PaintText(Surface *surfaceWindow, const EditModel &model, PRectan  				}  			}  		} -		//Platform::DebugPrintf("start display %d, offset = %d\n", pdoc->Length(), xOffset); - -		//Platform::DebugPrintf( -		//"Layout:%9.6g    Paint:%9.6g    Ratio:%9.6g   Copy:%9.6g   Total:%9.6g\n", -		//durLayout, durPaint, durLayout / durPaint, durCopy, etWhole.Duration()); +		//Platform::DebugPrintf("start display %d, offset = %d\n", model.pdoc->Length(), model.xOffset); +#if defined(TIME_PAINTING) +		Platform::DebugPrintf( +		"Layout:%9.6g    Paint:%9.6g    Ratio:%9.6g   Copy:%9.6g   Total:%9.6g\n", +		durLayout, durPaint, durLayout / durPaint, durCopy, epWhole.Duration()); +#endif  	}  } | 
