5 ms·
It seems weird to use specialized video decode hardware when videos are almost always played in a full-screen exclusive fashion. Like, other than loading, what
by tomc1985 6y ago
It seems weird to use specialized video decode hardware when videos are almost always played in a full-screen exclusive fashion. Like, other than loading, what is the CPU doing during those times?
- jan_Inkepa 6y agoVideo game loading screens, for instance.
- kevingadd 6y agoVideos have been used frequently for all sorts of other stuff in games since the playstation, if not earlier. In StarCraft the portrait of your selected unit was a movie file (RAD smacker, I think? But I don't have a copy of starcraft lying around to double check). Supergiant Games' titles since Bastion all use RAD's Bink codec to store offline renders of their character models (as movies) instead of traditional sprite sheets or realtime rendered 3d models, so they're playing back dozens of movies at all times. As another reply mentioned, it's also standard at this point for loading screens to be movies.
- incrudible 6y agoTo be clear, Kraken is for general compression, not video. Of course you can do video decoding in software, that's what Bink is. It can do 4K60 on a PS4 CPU.
- tomc1985 6y agoMakes sense. If it were just video it'd seem like it would be cheaper to include an h.264 chip, they're a lot more common and you get the same thing
- Danieru 6y agoEncoding videos across consoles in h.264 is a pain and unreliable. I did it, and so I can see why a big budget title would use blink. Each console has its own odd and undocumented requirements for the encoding specification. Think 1079p at 29.99fps pm one console while vannila 1080p 30fps on another. Get it wrong and your video is blank with only a "failed to decode" in the logs.
- midnightclubbed 6y agoAbsolutely. Massaging video codec settings to exactly match the console hardware requirements and feeding video data in/out of each console's propriety video API is a royal PITA. My feeling is that big budget games are prepared to jump through the hoops in order to wring the last drop of video quality (or add hours more 'content') but when timelines are short and engineers are thinly spread Bink is a great way to just get it done and move along.
- nikanj 6y agoBut there's relatively few consoles out there, which makes the situation much more tolerable. On the PC, all formats are theoretically supported, but there's always that one person with an outdated AMD driver and Korean Windows XP. I'll take a small handful of weird but very specific specs over the PC situation any day of the week.
- Impossible 6y agoI worked on COD:AW and we used video in game often. The lead UI artist would have used it significantly more if performance was better. Might be an exception but it's not uncommon, I've worked on multiple titles with full 3D and video playback at the same time
- hutzlibu 6y agoHang on, the performance of playing static video content was not good enough? (and worse than dynamically rendered game art?) You mean a single - full screen video, or videos inside the 3D content?
- moron4hire 6y agoVideos can be used for a lot of different things. You can animate textures, obviously, but you can also animate things like normal maps to get really interesting effects. I recently read an article that described how one of the more recent Assassin's Creed games used animated normal maps to make rainfall patterns on the ground.
- Impossible 6y agoVideo used as textures, either in world on 3D meshes, or as part of UI (HUD) elements. It could be prohibitively expensive to play a single video in some scenes, and we didn't support multiple videos. Not because it wasn't possible or anything, mostly because performance, although there would have been an engineering cost to doing also (ie I would have had to add support to the engine)
- hutzlibu 6y agoAh, video textures. That makes sense and indeed sounds expensive.
- Impossible 6y agoAlso remember "expensive" is relative. I think it added little over 1ms to total frame time per video, but in a 60fps console game that. Our budget was about 1ms or less for the entire UI during gameplay (including scripting, layout and rendering), so a video could more than double that. 4 simultaneous videos would be like 1/4 of the entire frame :).
- neurostimulant 6y agoAren’t bink videos can be rendered as textures? A lot of games use such effects on in-game objects (e.g. tv playing real videos).