private void LogOperation(OperationType type, params object[] methodArguments) { if (!_writtenBeginFrame) { _tracefile.Frames.Add(_currentFrame = new TracefileFrame { Number = ++_frameNumber }); _writtenBeginFrame = true; } _currentFrame.Events.Add(new TracefileEvent { Number = ++_operationNumber, OperationType = type, Arguments = new TracefileEventArgumentCollection(methodArguments) }); if (type == OperationType.DeviceContextPresent) { _currentFrame = null; _writtenBeginFrame = false; _operationNumber = 0; } }
public TracefileFrameViewModel(ISelectionService selectionService, TracefileFrame frame) { _selectionService = selectionService; _frame = frame; _events = _frame.Events.Select(x => new TracefileEventViewModel(x)).ToList(); _selectionService.SelectedEventChanged += OnSelectedEventChanged; }
public Replayer(TracefileFrame frame, TracefileEvent lastEvent, ISwapChainPresenter swapChainPresenter, int?renderTargetViewID = null, int?renderTargetArrayIndex = null, int?pixelX = null, int?pixelY = null) { _frame = frame; _lastEvent = lastEvent; _swapChainPresenter = swapChainPresenter; _device = new Device(); _deviceContext = _device.ImmediateContext; _logger = new TracefileBuilder(_device, renderTargetViewID, renderTargetArrayIndex, pixelX, pixelY); }