Processing surfaces and loading images
Refresh is using visibility info, needs refactoring