If you ACL the DGGs to the printers, you can skip the reading of printer ACEs. My suggestion then would fit the bill nicely. You only need to enum all the groups a user is a member of and pull out the printer DGGs.
_________________________
Give a man a fish and he will be back for more. Slap him with a fish and he will go away forever.