Commit Graph

25631 Commits

Author SHA1 Message Date
Disyer 7e4cf28f27 dtool: Upgrade default encryption algorithm to AES-256 (#1337)
The Blowfish cipher is no longer available on OpenSSL 3.x by default. It requires enabling the legacy cipher suite, which is compiled separately from the main OpenSSL library. AES-256 is a good replacement cipher that has hardware support in most newer computers. AES-256 is also available in OpenSSL 1.0.2.
2022-12-04 19:28:29 +01:00
rdb 7a55c723ba Merge branch 'release/1.10.x' 2022-12-04 19:28:03 +01:00
rdb 59eb1510b9 pstats: Fix compilation without HAVE_THREADS or with SIMPLE_THREADS 2022-12-04 19:26:22 +01:00
rdb 41f0c9d48d pgraph: Support None as second arg of replace_texture/replace_material
This removes the relevant texture or material
2022-12-04 19:24:04 +01:00
rdb d621df47ac prc: Fix bf-cbc encryption/decryption regression with OpenSSL 3.0
Loads the legacy provider to continue supporting this algorithm
2022-12-04 19:22:26 +01:00
rdb 8ca804086f pgraph: Fix a compiler warning in renderEffects.I
Initialization is unnecessary, but harmless
2022-12-04 16:58:49 +01:00
rdb 0866d485b1 pstats: Set default value for `pstats-max-queue-size` to 4
Otherwise any multithreaded application is dropping frames like mad, since the packets for different frames may be added to the same queue at roughly the same time.
2022-12-04 16:57:55 +01:00
rdb 550aad7024 Fix some uses of `AtomicAdjust::Pointer` to use `patomic<T *>` 2022-12-04 00:36:41 +01:00
rdb 05b3fe2170 dtoolbase: Use `patomic<size_t>` for memory usage counters 2022-12-03 22:42:03 +01:00
rdb 7c85b54ba4 pstats: Use proper microsecond symbol on GTK 2022-12-03 22:28:02 +01:00
rdb bb530435e8 pstats: Offload more work to separate PStats thread
This improves performance of PStats client when a lot of data is being sent per frame.

Also increase the value of pstats-max-queue-size, since otherwise we're constantly dropping frames when using multiple threads.
2022-12-03 22:27:46 +01:00
rdb 82522a7bef dtoolbase: Fix compile error in patomic.I with HAVE_THREADS=UNDEF 2022-12-03 21:53:02 +01:00
rdb 863a38e901 pipeline: Display error if joining thread failed
This can occur if a thread tries to call join on itself
2022-12-03 21:48:34 +01:00
rdb d6055cc927 pstats: Timeline: show longer collector name if there's room
Similar to what we're doing on the flame graph now

Also, tweak tooltip message for collectors that overlap frame boundary if it's partially on a dropped frame, so that it isn't misleading
2022-12-03 21:44:36 +01:00
rdb cb0d52b1b5 pstats: Changes to make GTK+ timeline impl match Windows
Adding vertical scroll, allowing resizing of the window, and putting the frame number to the right of the frame divider line instead of centering it

Also, never makes the Timeline window taller than the screen
2022-12-03 21:42:21 +01:00
rdb 76677e5c00 pstats: Deprecate `PStatClient::resume_after_pause()`
It creates a clock skew in the PStats timing information that cannot be corrected for in the server.  If we want to bring this back, we should either have a global `pause()` and `resume()` (so we can properly pause collection in the meantime, and have a time to reset to, but we'd need to think about how to handle threading) or we should add a `drop_frame()` to drop the current frame.  If we must bring it back in its current form, then we need to communicate the clock reset to the server, so that it can properly take it into account.
2022-12-02 22:19:43 +01:00
rdb f3cf30089b pstats: Improvements and fixees to Timeline view:
- Properly display and stack bars overlapping frame boundaries
- Ignore "App:Show code:General" collector (already disabled on master, but to support 1.10 clients) - it's an "inverted" collector that doesn't nest properly so it messes up the stacking
- Better handling / display of dropped frames
- Better handling of clock skew due to `PStatClient::resume_after_pause()` (but please don't use it, because it's not possible to fully handle it properly)
- Vertical scrolling (Windows only)
2022-12-02 22:19:43 +01:00
rdb 12c51fe2f6 pstats: Fix flame graph showing old results when opening in non-running session 2022-12-02 22:19:43 +01:00
rdb fd7f738365 pstats: Fix extremely slow constant rebuilding of chart menus in GTK impl 2022-12-02 22:19:35 +01:00
rdb 40f4656165 installpanda: Enable start-up notifications for pview
See cf4fa526c94fc507db386a0da566f2a69aef6d41 for more information
2022-12-01 15:52:16 +01:00
rdb 098e303669 makepackage: Don't open a terminal when starting pview from .desktop 2022-12-01 15:52:16 +01:00
rdb 60acf82f04 x11: Support desktop startup notification
This lets the window manager know when a program has finished launching, to stop showing a spinning cursor

Can be disabled with `x-send-startup-notification false`
2022-12-01 15:52:15 +01:00
rdb f593026061 x11: Support _NET_WM_PING 2022-12-01 15:18:45 +01:00
rdb b6dd2b8ec1 makepanda: Add file associations and shortcuts for pstats 2022-12-01 15:08:41 +01:00
rdb 706c354b02 pstats: Support for command-line options (session file, port number) 2022-12-01 15:05:34 +01:00
rdb 7e8dfc58ce makepackage: Remove mention of .p3d files from installer.nsi 2022-12-01 13:46:02 +01:00
rdb 1564435bbd pstats: Move last session and layout files to $XDG_STATE_HOME on Linux
This is a new directory that is slightly more persistent than $XDG_CACHE_HOME
2022-12-01 13:04:54 +01:00
rdb 1e542a43a1 pstats: Add keyboard shortcuts in GTK+ implementation 2022-12-01 13:03:53 +01:00
rdb 0421ee31b3 Merge branch 'release/1.10.x' 2022-12-01 12:59:27 +01:00
rdb 20459118e2 dtoolutil: Add XDG_STATE_HOME on Linux 2022-12-01 12:56:45 +01:00
rdb f9ebca2bec makepanda: Fixes to pview.desktop
It accepts multiple files (not URLs), and it doesn't actually handle startup notification properly, so don't keep showing that spinner
2022-11-30 23:41:47 +01:00
rdb 87012f869d text-stats: Fix typo in help message (pstats-port, not pstats-host) 2022-11-30 14:03:31 +01:00
rdb d4c30bb4e7 tform: Add `@since` to doc of `MouseWatcher::is_raw_button_down()` 2022-11-30 14:02:51 +01:00
rdb d5bfffb7fe makepanda: Remove old panda3d.desktop file
This belonged to the runtime, but was missed in #734
2022-11-30 13:53:36 +01:00
rdb 7691d3f67b pstats: Fix some issues with updates of flame graph
Upon reading data from datagram, the bars would animate from zero width, which looks odd when opening an existing session.

Also, fix the scale area not updating properly in GTK version.
2022-11-30 12:34:12 +01:00
rdb 837815b553 pstats: Add padding pixels to labels in gtk-stats
At the moment, the text runs right up to the edge of the label, which looks unsightly and inconsistent with the Windows version.
2022-11-30 12:32:32 +01:00
rdb b0a6e498e2 pstats: Make label stack scrollable on Windows if it runs off 2022-11-29 23:47:07 +01:00
rdb b5e92e29f5 tform: Add `MouseWatcher::is_raw_button_down()` 2022-11-29 23:43:50 +01:00
rdb 95b62ff198 workflow: Update Python versions for CMake build 2022-11-29 23:43:29 +01:00
rdb dfa4cc7da2 workflow: Update thirdparty packages for CMake builds 2022-11-29 20:59:26 +01:00
rdb 36aec8b014 pstats: Show collector start count in mouse-over tooltips 2022-11-29 20:59:14 +01:00
rdb a5610f217e Merge branch 'release/1.10.x' into incoming 2022-11-29 20:58:51 +01:00
rdb 867f60dcca pstats: Rename "Show code" collector to "Tasks"
Also remove outdated definitions from pStatProperties.cxx
2022-11-29 20:50:18 +01:00
rdb 0d30045670 workflow: Update Python versions 2022-11-29 20:18:32 +01:00
rdb 5aad1d8404 interrogate: Change error message to mention interrogate
This makes it more obvious that the error is coming from interrogate when encountering a parse error in a build log
2022-11-29 20:14:33 +01:00
rdb 44dd2bd091 workflow: Update to 1.10.13 thirdparty packages 2022-11-29 20:14:20 +01:00
rdb e5d36e2d01 makepackage: Add instructions for installing Python 3.12 bindings 2022-11-29 20:13:49 +01:00
rdb e17b76f775 readme: Update links to point to 1.10.13 thirdparty packages
[skip ci]
2022-11-29 20:12:57 +01:00
rdb adc324bbde pstats: Fix assorted compile issues in more esoteric configurations 2022-11-29 20:11:59 +01:00
rdb 386fe609fa pstats: Show hierarchical parent of collector in flame graph
Only when it's different from the nesting parent, and only if there's room.
2022-11-29 16:55:40 +01:00