amzn-sj
fef53bf4be
Update ProcessFromListOfVector2 API functions to use bulk queries. ( #7658 )
2022-02-16 10:08:17 -08:00
Nicholas Van Sickle
26566a06d2
Merge pull request #7565 from aws-lumberyard-dev/nvsickle/DomPrefixTree
...
Add DomPrefixTree, a DOM path => value lookup structure
2022-02-16 11:50:43 -05:00
Roman
f72c7da4a3
Change rotation camera to use RMB, and add orbit rotation camera using LMB + alt ( #7610 )
...
* Change rotation camera to use RMB, and add orbit rotation camera using LMB + Alt
Signed-off-by: rhhong <rhhong@amazon.com >
* add lookScrollCamera
Signed-off-by: rhhong <rhhong@amazon.com >
2022-02-16 08:38:51 -08:00
lumberyard-employee-dm
ba48ef3949
GCC Build fix. ( #7659 )
...
GCC doesn't accept accessing member variables inside the noexcept expression of a member function.
GCC also requires that template specializations for an inner template be outside of all classes.
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com >
2022-02-16 10:06:00 -06:00
Chris Galvan
18631b1a30
Merge pull request #7563 from aws-lumberyard-dev/jckand/ImageGradientTests
...
Adding new Image Gradient test to validate surface modification
2022-02-16 10:02:30 -06:00
Benjamin Jillich
a9d2ea660c
EMotion FX: Colliders now also render without the collider plugins #7643
...
* Colliders only rendered in case the given plugin was active, no matter if they were enabled or not in the 3D viewport which was confusing for users. Colliders as well as ragdoll debug draw now renders independently of the plugins.
* Added debug rendering for colliders and ragdoll joint limits to the Atom debug draw class
* Automatically clear selection when closing skeleton outliner
Resolves #5982
Resolves #5980
Signed-off-by: Benjamin Jillich jillich@amazon.com
2022-02-16 16:43:28 +01:00
Chris Galvan
c2d6ba0c69
Merge pull request #7625 from aws-lumberyard-dev/cgalvan/AddSupportForUNORM_SRGB
...
Added support for several UNORM_SRGB formats
2022-02-16 09:18:34 -06:00
Mike Balfour
0e328afcdd
Optimize surface providers ( #7631 )
...
* Add comparison operators to SurfaceTagWeight.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
* Changed AddSurfaceTagWeight to always combine weights.
This simplifies the API a bit and defines the behavior if someone ever tries to add a duplicate tag.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
* Added benchmarks for measuring the performance-critical APIs.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
* Changed SurfaceTagWeights to a fixed_vector.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
* Add inPosition to AddSurfacePoint.
This will be used to detect which input the surface point is associated with.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
* Add inPositionIndex to the appropriate APIs.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
* Switched Gradient Surface benchmarks to use actual surface components.
The gradient unit tests and benchmarks were previously using a mock surface data system, which led to misleading benchmark results. Now, the actual SurfaceData system gets constructed, and the tests use a mock provider, but the benchmarks use actual shape providers for more realistic benchmarking.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
* Fixed unit tests to have better query ranges.
Half of each previous range was querying outside the surface provider's data.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
* First attempt at removing SurfacePointLists.
This currently runs significantly slower than the previous code but passes the unit tests.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
* Another attempt at optimization.
This one runs faster than the previous, but still slow.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
* Fix the cmake dependency so that the gradient tests rebuild SurfaceData.dll when run.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
* Switch SurfaceAltitudeGradient over to the new bulk API.
Also, optimized the non-bulk API by having it reuse the SurfacePointList to avoid the repeated allocation / deallocation cost.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
* Switched to using an indirect index so that all allocations are consecutive in our reserved buffer.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
* Switched back to SurfaceTagWeight again.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
* Added runtime dependency to LmbrCentral for unit tests.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
* Switched code over to use the full EnumeratePoints in most cases.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
* Added knowledge of max surface point creation into the system.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
* Add generic GetSurfacePointsFromList API implementation for surface providers.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
* Fixed implementation to use the correct maximum number of input points based on the surface providers being queried.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
* Fix out-of-bounds references on empty lists.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
* Fix memory allocation that caused benchmark runs to crash.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
* Starting to clean up the API.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
* Move SurfacePointList into separate files for easier maintainability.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
* Fixed bug where too many points were filtered out due to using the position Z as a part of the AABB check.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
* Made FilterPoints an internal part of SurfacePointList so we can choose when and how to perform the filtering.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
* Final cleanup / comments.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
* Added includes for non-unity builds.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
* Optimized GetValues() implementations.
Also consolidated GetValue() and GetValues() down to a single implementation under the covers for easier maintenance.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
* Changed how unit tests initialize the mock lists to try and fix the linux errors.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
* Switch to explicit span declarations to help ensure this works with linux.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
* Fixed compile error.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
* Make the bulk terrain APIs take in const Vector instead of non-const.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
* Optimize the surface data providers for bulk queries.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
2022-02-16 09:17:01 -06:00
Benjamin Jillich
1413977aca
Animation Editor: Motion event colors aren't in sync with the event presets ( #7582 )
...
The motion events in the timeview had the wrong colors assigned as they weren't correctly mapped to the given event presets.
Signed-off-by: Benjamin Jillich <jillich@amazon.com >
2022-02-16 16:07:33 +01:00
Benjamin Jillich
5e3b176abf
EMotion FX: Colliders now also render without the collider plugins
...
Colliders only rendered in case the given plugin was active, no matter if they were enabled or not in the 3D viewport which was confusing for users. Colliders as well as ragdoll debug draw now renders independently of the plugins.
Signed-off-by: Benjamin Jillich <jillich@amazon.com >
2022-02-16 09:25:49 +01:00
Nicholas Van Sickle
de8b1496f0
Update DomPrefixTree range ctor with better validation
...
Signed-off-by: Nicholas Van Sickle <nvsickle@amazon.com >
2022-02-15 17:31:57 -08:00
jromnoa
932f0a4d84
Merge pull request #7596 from aws-lumberyard-dev/Atom/scottmur/editor_test_screenshot
...
Atom editor screenshot test refactor for nightly GPU
2022-02-15 16:07:19 -08:00
Mike Balfour
16d6cbca2a
Fixed intermittent unit test failures. ( #7651 )
...
The problem is that SurfacePoint doesn't have default values when constructed, and a few of the unit tests weren't setting m_position because the values weren't strictly needed for the test. However, the SurfacePointList checks them for validity and asserted when they couldn't be found, which was hit-and-miss due to it being uninitialized memory that was usually but not always 0xCCCCCCCC.
Improved the assert message and set the position values everywhere.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
2022-02-15 17:59:04 -06:00
Nicholas Van Sickle
f60a24e07d
Add support for Range-based DomPrefixTree construction, fix initializer_list
...
Signed-off-by: Nicholas Van Sickle <nvsickle@amazon.com >
2022-02-15 15:55:12 -08:00
Ronald Koppers
f2378fc8d8
Merge pull request #7561 from aws-lumberyard-dev/ConfigurableStack
...
Improved the way the Settings Registry can handle stacks/arrays.
2022-02-15 15:41:33 -08:00
Chris Galvan
9a32d433f4
Changed to use the lookup table directly than have a helper method
...
Signed-off-by: Chris Galvan <chgalvan@amazon.com >
2022-02-15 17:29:53 -06:00
Chris Galvan
12d5a304b5
Improved performance of UNORM_SRGB pixel retrieval by switching to a pre-computed lookup table
...
Signed-off-by: Chris Galvan <chgalvan@amazon.com >
2022-02-15 16:47:58 -06:00
Nicholas Van Sickle
e149abe550
Tidy a bit of API
...
Signed-off-by: Nicholas Van Sickle <nvsickle@amazon.com >
2022-02-15 14:42:52 -08:00
Scott Murray
5124a6322d
pulling in latest
...
Signed-off-by: Scott Murray <scottmur@amazon.com >
2022-02-15 13:10:12 -08:00
AMZN-koppersr
f91ea8de13
Removed #pragma once in cpp file.
...
Signed-off-by: AMZN-koppersr <82230785+AMZN-koppersr@users.noreply.github.com >
2022-02-15 13:10:10 -08:00
Allen Jackson
de97ad6ade
{lyn8578} adding UX for assinging a Python scene builder ( #7551 )
...
* {lyn8578} adding UX for assinging a Python scene builder
Signed-off-by: Allen Jackson <23512001+jackalbe@users.noreply.github.com >
* improved the Reset and Assign script logic
Signed-off-by: Allen Jackson <23512001+jackalbe@users.noreply.github.com >
* GUI updates to highlight the scene script
Signed-off-by: Allen Jackson <23512001+jackalbe@users.noreply.github.com >
* save off the script file name instead of holding onto the rule
update the header display name separate from setting the scene
Signed-off-by: Allen Jackson <23512001+jackalbe@users.noreply.github.com >
2022-02-15 15:01:43 -06:00
Nicholas Van Sickle
5543a0d32d
Fix non-unity builds again
...
Signed-off-by: Nicholas Van Sickle <nvsickle@amazon.com >
2022-02-15 12:52:24 -08:00
Mike Balfour
7fbcab9f13
gtest_repeat crashes ( #7645 )
...
* Moved allocation to avoid crash on gtest_repeat.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
* Fixed GradientSignal tests to work with gtest_repeat.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
2022-02-15 13:27:54 -06:00
Scott Romero
aaa8b9df7c
[development] automated tests for timing editor loading of the 10k levels ( #7472 )
...
It has been observed that when entering game mode in the editor with the 10k levels, the Vulkan backend performs significantly worse compared to DX12 on Windows. These tests are intended to detect if either backend gets worse with a currently generous timeout of 3 minutes to complete (10 for the Vulkan outlier) and should lowered over time as this metric stabilizes. Added a new periodic tests job to specifically run on a GPU instance.
Signed-off-by: AMZN-ScottR <24445312+AMZN-ScottR@users.noreply.github.com >
2022-02-15 11:17:15 -08:00
Nicholas Van Sickle
f934984ffe
Address review feedback:
...
- Use `unordred_map` (speed is about the same but providing a hash is slightly nicer than operator<)
- Do better arg forwarding where applicable
- Swap EXPECT_ test ordering
Signed-off-by: Nicholas Van Sickle <nvsickle@amazon.com >
2022-02-15 11:08:22 -08:00
moudgils
4bf6b6ba15
Add 3p vulkan validation layer support. ( #7540 )
...
* Add 3p vulkan validation layer support. Enabling device validation will automatically load the VkLayer_khronos_validation.dll ensuring that validation checks will work correctly
Signed-off-by: moudgils <47460854+moudgils@users.noreply.github.com >
* Addressed feedback
Signed-off-by: moudgils <47460854+moudgils@users.noreply.github.com >
* Updating the hash to the new 3p package
Signed-off-by: moudgils <47460854+moudgils@users.noreply.github.com >
2022-02-15 10:22:32 -08:00
AMZN-koppersr
9bd487e3bd
Minor fixes to the configurable stack based on provided feedback.
...
Signed-off-by: AMZN-koppersr <82230785+AMZN-koppersr@users.noreply.github.com >
2022-02-15 10:11:41 -08:00
Danilo Aimini
1c72d799f1
Prefabs UI | Refactor PrefabIntegrationManager into a separate class for save/load dialog management. ( #7630 )
...
* Split up the save/load handling functions from PrefabIntegrationManager to improve maintainability.
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com >
* Turn WarnUserOfError into a widely available utility function.
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com >
* Consolidate the definitions for AzToolsFramework Entity classes (List, IdList, IdSet) to avoid multiple redefinitions across the module.
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com >
* Fix usage of EntityIdList I missed in the tests.
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com >
* Fix EntityList def in SliceConverter
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com >
2022-02-15 10:04:40 -08:00
Nicholas Van Sickle
0459aae295
Merge remote-tracking branch 'upstream/development' into nvsickle/DomPrefixTree
2022-02-15 09:49:00 -08:00
Chris Burel
28049f6321
Merge pull request #7633 from aws-lumberyard-dev/fixWindowsClangBuild
...
Fix windows clang build
2022-02-15 09:39:49 -08:00
Guthrie Adams
b4f5b892cd
Merge pull request #7629 from aws-lumberyard-dev/Atom/guthadam/atom_tools_restore_idle_input_behavior
...
Atom Tools: Restoring idle behavior for viewport input behavior contoller
2022-02-15 09:46:47 -06:00
Benjamin Jillich
9a19ffc5b4
EMotion FX: Added debug rendering for colliders and ragdoll joint limits to the Atom debug draw class
...
Signed-off-by: Benjamin Jillich <jillich@amazon.com >
2022-02-15 16:36:04 +01:00
Benjamin Jillich
40c0edde85
EMotion FX: Automatically clear selection when closing skeleton outliner
...
Signed-off-by: Benjamin Jillich <jillich@amazon.com >
2022-02-15 14:48:15 +01:00
lumberyard-employee-dm
cf9825d37e
Mac Runtime Fix: Up the hard coded size for the HpAllocator buffer to 18KiB ( #7634 )
...
* Up the hard coded size for the HpAllocator buffer to 18KiB
Added a static assert in the HphaSchema.cpp file to validate that the
HpAllocator aligned storage buffer is at least the size of the
HpAllocator class.
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com >
* Removed comment blocks with username from HphaSchema.h
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com >
2022-02-14 23:50:53 -06:00
Olex Lozitskiy
dff7d74e81
Adds support for additional VS debugger arguments
2022-02-14 19:05:53 -06:00
Chris Burel
c89376e9c3
The flag is --no-undefined, not -Wl,-undefined,error
...
Signed-off-by: Chris Burel <burelc@amazon.com >
2022-02-14 16:25:52 -08:00
Chris Burel
8acda7d04d
Prefer CMake's built-in -fPIC and -fpie support
...
CMake has a built-in property, `POSITION_INDEPENDENT_CODE`, that determines
if code will be built with `-fPIC`. This property is `True` by default for
`SHARED` and `MODULE` library targets and `False` otherwise. Previously,
we were always passing the `-fPIC` flag manually. With this change, we set
the appropriate CMake variable that will enable the property for all
compile jobs.
Furthermore, with CMake policy CMP0083 set to "new" (which happens by
default when the `cmake_minimum_required` version is >=3.14), CMake has
built-in support for passing the `-fpie` flag when building executables. It
uses the same property, `POSITION_INDEPENDENT_CODE`, so setting this
property (and enabling it with the CMake `CheckPIESupported` module) allows
us to use CMake's built-in support for these flags.
Signed-off-by: Chris Burel <burelc@amazon.com >
2022-02-14 16:25:50 -08:00
Chris Burel
377da0ed0c
Ignore unused benchmark state variables
...
Signed-off-by: Chris Burel <burelc@amazon.com >
2022-02-14 16:25:46 -08:00
lumberyard-employee-dm
92cd457c25
MacOS build fix ( #7627 )
...
* MacOS build fix
Updated the HpAllocator::bucket to align upwards to the nearest power of
2.
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com >
* Adding static assets to validate teh AlignUpToPowerOfTwo function.
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com >
2022-02-14 17:18:43 -06:00
Mike Balfour
8b82041361
Optimize SurfaceData bulk queries ( #7593 )
...
* Add comparison operators to SurfaceTagWeight.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
* Changed AddSurfaceTagWeight to always combine weights.
This simplifies the API a bit and defines the behavior if someone ever tries to add a duplicate tag.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
* Added benchmarks for measuring the performance-critical APIs.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
* Changed SurfaceTagWeights to a fixed_vector.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
* Add inPosition to AddSurfacePoint.
This will be used to detect which input the surface point is associated with.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
* Add inPositionIndex to the appropriate APIs.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
* Switched Gradient Surface benchmarks to use actual surface components.
The gradient unit tests and benchmarks were previously using a mock surface data system, which led to misleading benchmark results. Now, the actual SurfaceData system gets constructed, and the tests use a mock provider, but the benchmarks use actual shape providers for more realistic benchmarking.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
* Fixed unit tests to have better query ranges.
Half of each previous range was querying outside the surface provider's data.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
* First attempt at removing SurfacePointLists.
This currently runs significantly slower than the previous code but passes the unit tests.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
* Another attempt at optimization.
This one runs faster than the previous, but still slow.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
* Fix the cmake dependency so that the gradient tests rebuild SurfaceData.dll when run.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
* Switch SurfaceAltitudeGradient over to the new bulk API.
Also, optimized the non-bulk API by having it reuse the SurfacePointList to avoid the repeated allocation / deallocation cost.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
* Switched to using an indirect index so that all allocations are consecutive in our reserved buffer.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
* Switched back to SurfaceTagWeight again.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
* Added runtime dependency to LmbrCentral for unit tests.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
* Switched code over to use the full EnumeratePoints in most cases.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
* Added knowledge of max surface point creation into the system.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
* Add generic GetSurfacePointsFromList API implementation for surface providers.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
* Fixed implementation to use the correct maximum number of input points based on the surface providers being queried.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
* Fix out-of-bounds references on empty lists.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
* Fix memory allocation that caused benchmark runs to crash.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
* Starting to clean up the API.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
* Move SurfacePointList into separate files for easier maintainability.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
* Fixed bug where too many points were filtered out due to using the position Z as a part of the AABB check.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
* Made FilterPoints an internal part of SurfacePointList so we can choose when and how to perform the filtering.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
* Final cleanup / comments.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
* Added includes for non-unity builds.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
* Changed how unit tests initialize the mock lists to try and fix the linux errors.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
* Fixed compile error.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com >
2022-02-14 16:27:53 -06:00
Chris Burel
d2cdb511d0
Improve the framerate of Editor widgets that update in the TickBus ( #7408 )
...
Previously, with no level loaded in the main editor, and no assets loaded
in the EMotionFX editor, the AnimGraph viewport would only update at 15fps,
even on a 64 core machine.
Digging into this with Pix, I found that EMotionFX's UI would only get
updated for every other call to the ComponentApplication tick.
The Editor's QApplication instance controls how the
`ComponentApplication::OnTick` method is called. This is done in the
`maybeProcessIdle()` method. Generally, I found callstacks like this:
```
EditorQtApplication::maybeProcessIdle()
CCryEditApp::OnIdle()
CCryEditApp::IdleProcessing()
CGameEngine::Update() # ~2.2ms
PhysX::Update() # ~1.8ms
EMotionFX::Update() # ~0.2ms
calls QWidget::update() on all the widgets that change per
frame, only puts update events on the event queue, doesn't
paint anything
AZ::ComponentApplication::TickSystem() # ~25ms
renders the frame with Atom # ~24ms
```
The `maybeProcessIdle()` method is invoked by a QTimer, with a timeout
that changes depending on the application state. If the Editor is in
game mode, it used a timeout of 0, which essentially forced the game to
run at as high an fps as possible. If the Editor application has focus,
it used a timeout of 1ms, asking for the idle processing to happen at
1000 fps. Otherwise, it used a timeout of 10ms, asking for idle
processing at 100 fps.
Those fps targets are not realistic. What happened in this case is that
while the PhysX system was being updated, while the previous
`maybeProcessIdle()` call was still processing, the idle processing
timer would timeout again, and place a timer event on Qt's event queue,
before anything else had a chance to do anything. Only afterward would
EMotionFX's MainWindow::OnTick would be invoked, placing paint events on
Qt's event queue.
The fix for this is to use a single shot timer at the end of each
`maybeProcessIdle()` call. This ensures that any events that are
enqueued during the `maybeProcessIdle()` call are processed prior to the
next call to `maybeProcessIdle()`.
Signed-off-by: Chris Burel <burelc@amazon.com >
2022-02-14 14:22:07 -08:00
Chris Burel
0b317ee0f5
Merge pull request #7566 from aws-lumberyard-dev/fixClangWindowsBuild
...
Fix clang windows build
2022-02-14 14:20:39 -08:00
AMZN-Olex
f5dff748d9
Cleanup
...
Signed-off-by: AMZN-Olex <5432499+AMZN-Olex@users.noreply.github.com >
2022-02-14 15:47:56 -06:00
Guthrie Adams
3bdb0f5d9b
Atom Tools: Restoring idle behavior for viewport input behavior controller
...
Signed-off-by: Guthrie Adams <guthadam@amazon.com >
2022-02-14 15:37:39 -06:00
Roman
da421b7056
Change actorRenderFlag to use AZ ENUM CLASS instead of azstd::bitset ( #7542 )
...
* Fixes the problem with using actor render flags in actor component
Signed-off-by: rhhong <rhhong@amazon.com >
* In progress work for actor render flag rework
Signed-off-by: rhhong <rhhong@amazon.com >
* add an utlity function to check bit
Signed-off-by: rhhong <rhhong@amazon.com >
* code cleanup
Signed-off-by: rhhong <rhhong@amazon.com >
* More CR cleanup
Signed-off-by: rhhong <rhhong@amazon.com >
* build fix
Signed-off-by: rhhong <rhhong@amazon.com >
* CR feedback
Signed-off-by: rhhong <rhhong@amazon.com >
2022-02-14 13:27:37 -08:00
Scott Murray
9335ce7ba9
removing pytest marks and debugging prints
...
Signed-off-by: Scott Murray <scottmur@amazon.com >
2022-02-14 12:21:51 -08:00
dmcdiarmid-ly
60d7533301
Merge pull request #7607 from aws-lumberyard-dev/Atom/dmcdiar/ATOM-17302
...
Added the DiffuseProbeGridVisualizationCompositePass
2022-02-14 12:46:45 -07:00
Danilo Aimini
31fb5322ed
Refactor the Outliner drag&drop and selection to fix UX and technical issues. ( #7559 )
...
* Prototype - refactor the selection system for the Outliner (WIP)
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com >
* WIP - unify custom drag, still trying to find a way to make it so that the selection isn't affected by drag/drop of unselected entity
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com >
* Wrap up changes
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com >
* Minor refactor - move from enum to bool
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com >
* Prevent clicks on the spacing column from selecting the entity; better refresh the hover state.
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com >
* Fix weird flicker introduced by latest commit
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com >
* Change color for the drag select rectangle.
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com >
* Add more thorough comments, and also make some helper variables const.
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com >
* Fixed incorrect variable types (Qt uses ints for on-screen dimensions)
Signed-off-by: Danilo Aimini <82231674+AMZN-daimini@users.noreply.github.com >
2022-02-14 10:32:22 -08:00
Steve Pham
0f9c369d7c
Fix Clang built executables so they can be launched from the file explorer ( #7562 )
...
* Remove Position Independent Executable link flags from EXEs
Signed-off-by: Steve Pham <82231385+spham-amzn@users.noreply.github.com >
2022-02-14 10:30:00 -08:00
Guthrie Adams
ba43efd3d2
Merge pull request #7613 from aws-lumberyard-dev/Atom/guthadam/centralize_shader_management_console_operations_in_document_class
...
Atom Tools: Moving shader management console file operations into document class
2022-02-14 12:17:35 -06:00