I think I figured it out. Enabling transparent mode for an operation will simply merge it with a previous non-transparent one, regardless if the previous operation is active or not. So, even this should work:
model = Sketchup.active_model
model.start_operation('Main OP', false, false, false) # A placeholder for all sub operations
model.commit_operation
x = 0
while (x < 100)
model.start_operation('Sub OP', true, false, true)
# Do some crazy geometry manipulation,
# that I don't want the observer to respond while I'm doing it...
model.commit_operation
# Committing operation will allow the observers to respond and update view properly.
# Do something involving view, like exporting proper view into images
# Increment counter
x += 1
end
Edit: Nevermind. transparent flag is limmited to 100 operations. After that it turns into a normal operation, flooding the undo stack. Running one operation with ui_disable set to false does update the view properly, so I'll stick with it, but it's slow...