Iterating through tiles in viewports now works fine. You can pass in a custom device as the data source for the tile map.