Skip to content
This repository has been archived by the owner on Jan 25, 2023. It is now read-only.

Dropping 32 bit support #3036

Open
1vanK opened this issue Jul 17, 2022 · 6 comments
Open

Dropping 32 bit support #3036

1vanK opened this issue Jul 17, 2022 · 6 comments

Comments

@1vanK
Copy link
Contributor

1vanK commented Jul 17, 2022

Motivation:

  1. Support of 32 bit is dropped almost everywhere
  2. Testing for both 32 and 64 bits requires extra effort
  3. Support of large files (> 4 gb). For example Cyberpunk uses 15 Gib file https://steamdb.info/depot/1091501/
  4. Problems with big cpp files. Latest mingw can not build 32 bit debug version even with hack https://github.com/urho3d/Urho3D/blob/master/Source/Urho3D/CMakeLists.txt#L31-L35
@1vanK
Copy link
Contributor Author

1vanK commented Aug 1, 2022

@1vanK
Copy link
Contributor Author

1vanK commented Aug 28, 2022

After research, it was found that large files are supported on 32-bit systems also

@Mezozoysky
Copy link
Contributor

Also big cpp files problem is a code design problem

@1vanK
Copy link
Contributor Author

1vanK commented Dec 19, 2022

Criticism must be constructive

@1vanK
Copy link
Contributor Author

1vanK commented Dec 19, 2022

Для сгенерированных привязок вы не можете заранее знать список сгенерированных файлов. Cmake же требует указать список сгенерированных файлов перед их генерацией. Поэтому приходится большинство функций движка помещать в один файл. Кроме того этот файл должен быть заголовочным, а функции шаблонными, чтобы реализовать наследование привязок классов (в том числе и для классов пользователя). В итоге и получается, что движок целиком по сути засунут в один файл. Я пробовал разные подходы и переписывал генератор несколько раз, но вдруг у Вас получится лучше.

@1vanK
Copy link
Contributor Author

1vanK commented Dec 19, 2022

В старых вручную написанных привязках, движок разбивался по папкам. Но это деление чисто условное. Поэтому вручную написанные привязки использовали кучу хаков, чтобы решить эти зависимости при раскидывании привязок по разным файлам. Если пойти этим путем, то сгенерированные привязки будут требовать слишком много внимания и ручного вмешательства в их работу, что впринципе убьет весь смысл в них. В любом случае, mingw последних версий похоже научился справляться с большими файлами.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

2 participants