public virtual void Dispose() {
DisposeHelper.Dispose(ref _sprite);
DisposeHelper.Dispose(ref _renderBuffer);
DisposeHelper.Dispose(ref _renderView);
DisposeHelper.Dispose(ref _depthBuffer);
DisposeHelper.Dispose(ref _depthView);
if (!_sharedHolder) {
DisposeHelper.Dispose(ref _deviceContextHolder);
}
DisposeHelper.Dispose(ref _swapChain);
}