There are, however, significant differences between CoherentUI and CEF that you won’t see but which do help us develop faster. We want to ensure the upgrade is working properly before working on performance or functionality improvements. Our goal is to replace the underlying system as transparently as possible. You might notice the Trading Post running a little more smoothly, but not much else. What Will You See After This Change Is Made? Payment processors were satisfied with the newer version of CoherentUI, but we knew they would eventually say it, too, didn’t meet their standards. Some of you may have noticed that we upgraded CoherentUI last year, so why are we making another upgrade? We did the upgrade last year to temporarily address the first point above, giving us time to replace CoherentUI completely. We plan to keep it updated on a reasonable cadence so we don’t fall behind on performance improvements and bug fixes. It also gives us many more options to improve the performance further if we need to. Payment processors are happy with it, its performance is much better, and it supports the latest tools and standards. It has limited support for modern programming, formatting, and language standards, and it is not supported by modern tools that would help us develop for it faster.ĬEF addresses these points and more. ![]() This ultimately manifests as unresolvable Trading Post bugs and performance issues. ![]() We can’t improve its performance or fix its bugs ourselves. CoherentUI is no longer supported by its vendor.This is a serious risk impacting our ability to fund future development of the game. Our third-party payment processing partners have indicated this will be an issue in the future. CoherentUI doesn’t support emerging security standards.It is even more tightly integrated into the game than DirectX 9 was, and there is an unacceptable risk of introducing gameplay-breaking physics bugs.ĬoherentUI is a simpler library to update, and we chose it next for a couple of reasons: On the other hand, we decided not to upgrade Havok. It has been a huge effort, but we expect the result to be worth it. We made the decision to update DirectX 9 to DirectX 11 (see our previous blog post here). Some libraries are difficult to update, requiring careful planning and cost-benefit analysis before upgrading. Some examples are DirectX 9 (for drawing to the screen), Havok (for physics), Umbra (for occlusion culling), and CoherentUI (for some of our UI). A significant number of issues arise from our third-party libraries (pieces of code that we get from someone else). This has become an issue for us, as we are pushing old systems past their limits. We have a lot of code that hasn’t changed in a long time. One of the engine team’s areas of focus is modernizing the codebase. CEF is used to create the UIs of many other programs like Steam, the launcher, and the Epic Games launcher. We will be replacing it with Chromium Embedded Framework (henceforth referred to as CEF). We use CoherentUI in a bunch of places, including in-game books, the launcher, and the Trading Post. We are replacing CoherentUI, a library that lets us run a web browser inside the game. That project is going quite well, but I’m here to talk about something else we’ve been working on: replacing CoherentUI with Chromium Embedded Framework! What Are We Replacing? This is the same team that’s been working on the DirectX 11 upgrade. ![]() I joined ArenaNet last year to round out the newly reformed engine team. I’m Ben Dunkin, a Senior Engine Programmer on the Guild Wars 2 team.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |