If you get restless near the beginning of the musical version of "The Color Purple," rest assured: It improves.

Even more than Steven Spielberg's original "Color Purple" film, the musical has difficulty with the sweep of Alice Walker's novel. Movies aren't as good as novels at conveying the passage of time, anyway, and "Purple" is no epic (two hours and 20 minutes, about one-third of which is songs). So, for instance, "Purple" would like us to register the despair that main character Celie, a teenager, feels when she's separated for decades from sister Nettie. But it's really only an hour in the movie that they're apart and director Blitz Bazawule hasn't figured out how to make the loss feel longer.

There's also an odd disconnect between the musical/fantasy elements and the mostly tragic events on screen in the story of an early 1900s woman (played as a teenager by Phylicia Pearl Mpasi and as an adult by Fantasia Barrino) who is essentially a slave to her cruel husband, Mister (Colman Domingo). Celie withstands the terrible marriage and repeated abuse because she has faith she'll be reunited with her sister (Halle Bailey as the teenager, Ciara as the adult).

A movie like "West Side Story" is stylized from the jump, so it's easier to accept that characters spontaneously launch into production numbers, but "Purple" is anchored in the real world — the grim action is set near the actual Atlantic Ocean and on Georgia beaches — and that makes it even odder when people start to sing and no one around them bats an eye.

My advice? Just go with it. It's what you need to do with any musical, really, and if you give "Purple" a little extra rope, it begins to have an impact.

Bazawule smartly shifts the movie in a surreal direction — Celie and Shug, a blues singer who becomes her pal, perform one song on a giant record turntable, and ghosts of Celie's past often materialize. Paradoxically, the dreamier and less tethered to reality it gets, the more "Purple" makes emotional sense.

A lot of that has to do with the cast, which is uniformly terrific. Danielle Brooks, from "Orange Is the New Black," is a dynamo as Celie's forthright friend Sofia (the part Oprah Winfrey played in the Spielberg movie), whose raucous "Push Da Button" is a highlight because it's one of the few moments of unadulterated joy. Taraji P. Henson is excellent as Shug, who leads by example in showing Celie how to take charge of her life.

Barrino, an "American Idol" veteran, helps us see how Celie maintains her inner spirit when things are at their worst with Mister. It probably helps her performance that she's not in those early, rough scenes but no matter what, Barrino delivers chills late in the movie. That's when "Purple" hands her one of those big, this-is-who-I-am songs, along the lines of "Don't Rain on My Parade" in "Funny Girl" or "And I Am Telling You I'm Not Going" in "Dreamgirls." Barrino/Celie's number is called "I'm Here" and, some lip-synching issues aside, she crushes it.

"I'm Here" would work as a finale but "Purple" has more for the audience in the form of a tear-jerking conclusion that Bazawule and his cast realize so beautifully that by that point, the uneven early scenes are all but forgotten.

'The Color Purple'
**½ out of 4 stars
Rated: PG-13 for violence, sex and strong language.
Where: In theaters Christmas Day.