There is a scene in the movie, 300 where Xerxes stands behind Leonidas and places his hands on the shoulders of Leonidas.
Not only does Xerxes appear much taller than Leonidas, he appears physically larger than him in all aspects. The hands of Xerxes appear to be very large in comparison to the shoulders of Leonidas.
Out of universe, both actors are similar in height and weight.
Gerard Butler is fairly tall and actually gained weight for his role as Leonidas:
Gerard Butler is 6’2″ (188 cm) tall, and weigh 190 pounds (86kg). For this movie he lost fat and gained muscle and got up to 200 pounds (91kg).
Actor Rodrigo Santoro is the same height as Gerard Butler:
In a larger than life battle film like "300," the villain has to be extra-larger than life. Xerxes, the king of Persia, is portrayed as seven feet tall. Actor Rodrigo Santoro is only 6’2".
It's obvious that CGI was used throughout this film in several scenes. I'm not questioning the use of CGI. My question is How was this scene actually filmed to ensure that Xerxes completely towers over Leonidas? Do both actors need to be a similar height and build for a particular technique to be successful?